네트워크, 시스템보안
프로토콜 동작 원리
mimimin
2022. 5. 2. 09:06
[인터넷]
- 인터넷은 미국방부 산하의 연구소에 속한 빈트 서프, 로버트 칸이 만듦
- 1970년대 초반에 현재와 같은 네트워크(TCP/IP) 완성
[TCP / UDP]
- TCP - 주로 User(사람)이 요청한 경우 사용되며 용량이 큰 경우가 많음
- ex) http(웹), FTP, SSH, Telnet 등
- ex) 로그인, 게임점수, 수치 - 정확 but 확인 과정 필요
- TCP Flag (UAPRSF - 각 1bit씩 6bit할당되어 있음) - On이면 1, Off일때는 0으로 표시
- UDP - 주로 System 간 정보를 교환하는 경우 사용되며 신호(약속된 신호 - 프로토콜)만 주고 받음
- ex) SNMP(네트워크 관리), NBNS(윈도 파일 공유), DNS(도메인네임과 IP주소)
- ex) 게임 화면, 음성 - 확인 과정 없이 처리
- UDP 헤더 - 별 기능이 없기 때문에 처리 속도가 빠름
- 참고 - TCP / UDP의 속도 차이는 확인 과정의 유무이며 도착 속도는 네트워크 회선에 따라 좌지우지 됨
[LAN / WAN]
- LAN - 많은 컴퓨터를 연결하는 것이 목적
- ex) Ethernet, Token Ring, FDDI, Wi-Fi
- WAN - 장거리 연결이 목적
- ex) HDLC, PPP, ATM, X.25
[캡슐화]
- 캡슐화 - 데이터에 헤더를 붙이는 것
- 헤더에는 출발지, 목적지 IP 주소와 TTL, Protocol 등 포함
- 캡슐 해제 - 헤더를 분리해 버리는 것 (단, 목적지 주소와 자신의 주소가 일치할 때)
- 목적지의 IP 주소와 나의 IP가 일치하지 않을 때(나에게 전달되는 정보가 아닐 때) 보는 것은 해킹, Sniffing(데이터 도청) = 정보 통신망법 위반으로 처벌받을 수 있음
- 데이터가 캡슐화 될때, 세그먼트, 패킷, 프레임이 붙는데 제일 마지막에 붙는 프레임은 각 구간별 통신 방식에 따라서 변경 됨
- 데이터가 최종 목적지에 도착할 때까지 프레임은 변경되며 도착 = 패킷에 쓰여있는 ip 주소는 최초 출발지부터 최종 목적지까지 변함없이 유지, 프레임은 최초 출발지에서 공유기, 공유기에서 라우터 등 출발지와 목적지가 계속해서 변화
[IP 주소]
- IP 주소는 네트워크 부분과 호스트 부분으로 분리, 구별 방법은 2가지
- Classful -> A, B, C, D, E class 기반으로 구별하는 방법으로 지금은 쓰이지 않음
- Classless -> Class가 아닌 서브넷 마스트로 구별, 1은 네트워크 0은 호스트. IPv4에서 해당 방법으로 구별, IPv6는 앞의 반은 네트워크 뒤의 반은 호스트로 설정되어 있음
[MAC 주소]
- LAN 카드에 존재
- 형태 - 78-2b-46-8d-bd-9b
- 각 자리는 16진수, 각 자리는 4bit
- 즉, 12 * 4 = 48 bit 주소 체계
- 앞의 24 bit - 제조사 식별코드(OUI)
- 뒤의 24 bit - 제품 일련번호
- IEEE - 통신, 네트워크 등 연구하는 미국의 표준 기관으로 MAC 주소 판매
- 참고로 MAC 주소는 https://regauth.standards.ieee.org/ 에서 조회 가능
[TTL]
- TTL은 패킷의 수명을 의미
- 다른 네트워크로 갈 때마다(라우터를 지날 때마다) 1씩 감소하며 0이 되면 버려짐
- 네트워크의 혼잡을 방지하기 위해 사용됨
- 출발지의 운영 체제에 따라 값이 다른데, UNIX: 255, Windows: 128, Linux:64로 설정되어 있음
[Fragmentation 필드]
- 패킷이 너무 커서 작게 나눠야 할 때 사용하는 필드들
- Identification : 재조립을 위해서 같은 패킷을 단편화하더라도 같은 ID값을 가짐
- Flag : 막내가 아니면 1, 막내는 0으로 표시
- Fragment Offset : 순서번호 (패킷을 단편화하면 Offset값을 부여
[Port]
- Port 번호 - 16bit
- System Port ( Well Known Port) : 1~1023 - 공통의 서비스를 사용하는 서버들이 사용하는 포트 번호
- ex) 53(DNS), 80(HTTP), 22(SSH), 23(Telnet), 25(SMTP)
- User Port / Registered Port : 1024~49151- 특정 회사의 Application에서 사용하는 포트 번호 (등록해야함)
- ex) 3306(MySQL)
- Dynamic Port : 49152~65535 - 자유롭게 사용 가능 (주로 웹브라우저가 사용)