상세 컨텐츠

본문 제목

네트워크 개요 2 (TCP/IP 프로토콜)

보안

by oose. 2023. 3. 22. 10:33

본문

1. TCP/IP란

 - 인터넷(Internet)을 움직이게 하는 핵심 통신 프로토콜

 - TCP/IP와 OSI 7계층 모델의 관계 -> OSI :7계층, TCP/IP : 5계층

2. TCP 헤더

 ex) HTTPS : 16비트 목적지 포트 번호 = 443

4계층인 전송 계층 헤더에 해당한다.

3. TCP의 포트(Port)

 - 포트(Port): 각 단말기 내에서 사용되는 주소

  • 수신자의 시스템 내에서 어떤 프로그램으로 메시지를 올려 보내줄지 결정

 - TCP 포트 번호 범위

 - 대표적으로 많이 사용되는 TCP 포트

  • 20, 21 – FTP, 원격 파일 전송을 위한 목적

  • 22 – SSH, 암호화된 원격 접속을 위한 목적

  • 23 – 텔넷(Telnet), 원격 접속을 위한 목적

  • 53 - DNS(Domain Name System), URL의 도메인 주소에서 IP 주소를 얻어올 때

  • 80 - HTTP, 웹 접속을 위한 목적

  • 110 - POP3(Post Office Protocol), 이메일 서버로부터 메일을 읽어올 때

  • 443 – HTTPS, 암호화된 웹 접속을 위한 목적

 

4. TCP connection 맺기 (ex. 두 사람이 사귀기 전에 '우리 사귈래? / ㅇㅋ' 하는 과정)

 - TCP는 연결 지향적(Connection-oriented) 인 프로토콜

  • 송신자와 수신자가 통신을 시작하면 둘 사이에 연결 (Connection)이 맺어지고 통신이 끝날 때까지 연결이 지속됨

 - TCP의 시작 과정: 3-way Handshaking

  (1) 송신자: 연결을 맺자고 요청하는 SYN(Synchronize, 동기화) 패킷 보냄

  (2) 수신자: 송신자 요청을 승인하는 SYN+ACK(Acknowledge, 수락) 패킷 보냄

  (3) 송신자: 수신자의 승인 패킷을 확인했다는 의미로 ACK 패킷 보냄

  => 이러한 3단계를 거치면 연결 생성(Established) 상태가 됨

 -> (2) 요청 승인에서 SYN과 ACK를 묶어 한번에 보낸다.

 

5. TCP 데이터 전송

 - 실제 메시지가 오고 가는 과정: 2-way 방식

  • 흐름 제어(Flow Control) : 수신자의 ACK 패킷을 송신자가 일정 시간 못 받은 경우 송신자는 수신자에게 다시 메시지를 재전송

 - TCP 헤더 정보를 이용, 슬라이딩 윈도우(Sliding Window) 기법으로 처리

 

6. TCP connection 끊기 (ex. 헤어지고 싶을 때 잠수타면 안 됨 -> '우리 헤어지자 / ㅇㅋ' 하는 과정)

(1) 송신자: 수신자에게 연결을 끊고자 FIN(Finish, 종료) 패킷 보냄

(2) 수신자: ACK 패킷 보냄 - 종료 요청에 대한 확인

(3) 수신자: FIN 패킷 보냄 - 자신도 연결 종료를 요청하는 것

(4) 송신자: 수신자의 종료 패킷에 대한 확인으로 ACK 패킷 보냄

-> (2), (3)을 묶어서 보내지 않는('connection 맺기'와 차이점) 이유 : 수신자가 하던 일(송신자가 요청한 )을 모두 마친 후, FIN을 보내야 하기 때문

 

7. IP 프로토콜

 - IP: 네트워크 계층에 해당하는 통신 프로토콜, 라우팅(Routing) 담당

 - 각 노드(라우터 포함)의 주소: 3계층의 IP 주소

 - 라우팅 테이블(Routing Table): 각 노드 사이의 연결 정보를 저장한 테이블

  • 두 연결 사이의 전송 비용(Cost) 저장 -> 전송 속도 or 단순히 거쳐야 하는 라우터 개수(Hop Count)

3계층 관점에서의 패킷 흐름

8. IP 주소(Internet Protocol Address)

 - IPv4 주소 • 네트워크상에서 유일한 주소

 • 특별한 언급 없이 IP 주소라고 하면 IPv4 (Command창에서 ipconfig -all 명령어로 확인 가)

 • IP 주소의 크기 및 범위: 32비트(4바이트)

 • 10진 표현, 8비트씩 네 묶음으로 구성: 0.0.0.0 ~ 255.255.255.255

 • 약 42억 개(=2의 32승)의 주소 할당이 ‘11년 2월 4일 종료' → 신규 주소 할당 중지 

 

 - IPv6 주소

 • IP 주소의 크기: 128비트(16바이트)

 • 유비쿼터스 환경에서 사물마다 주소를 부여할 수 있는 수준

 • 16진 표현, 16비트씩 여덟 묶음으로 구성, 각각 쌍점 ‘:’ 기호로 구분

   ex) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334

 • IPv4와 IPv6는 호환이 되지 않음: IPv6 교체 비용이 높아서 적용이 더딘 상황 (IPv6 나온지 30년이나 됐는데 아직도 x..)

 

 - IP 주소의 클래스(Class)

 • A ~ E까지 모두 5개

 • 일반적으로 사용되는 클래스: A, B, C

 • 특수 목적 클래스 D와 E

   D: 멀티 캐스팅(Multi-casting)용

   E: 주로 연구용

 - IP주소 클래스에 따른 값의 범위

 - IP 주소: 네트워크 주소 + 호스트 주소

 - IP 주소의 요청

 • TCP/IP를 관리하는 국제표준기구에 요청

 • IP 주소의 ‘네트워크 주소’에 해당하는 부분만을 할당 받음

   -> 나머지 ‘호스트 주소’ 범위는 신청자가 자율적으로 관리하는 부분

 

 - 클래스 별 IP주소의 구성

 

 - 공인 IP 주소(Public IP Address) vs. 사설 IP 주소(Private IP Address)

  • 공인 IP 주소: IANA에 의해 할당받은 IP 주소 -> 공인 IP 주소는 유일한 것 O

  • 사설 IP 주소: 사내 네트워크에서만 사용될 수 있는 IP 주소 -> 사설 IP 주소는 중복 가능

 - 사설 IP 주소범위

-> 공인 IP 주소가 유일하기 때문에 사설 IP 주소가 중복되어도 올바른 통신 가능

 

9. IP 주소 vs. MAC 주소

 - IP 주소 (=집 주소 -> 이사가면 변경됨)

 • 십진수로 표현(32bit)

 • 네트워크가 달라지면 바뀜

 • Network 계층(L3)에서 사용

 

 - MAC 주소 (=주민등록번호 -> 자신만의 고유 번호, 바뀌지 않)

 • 16진수로 표현(48bit)

 • 물리적 주소

 • NIC(Network Interface Card)에 새겨져 있음 (아래 그림처럼 생김)

 • Data Link 계층(L2)에서 사용

10. 네트워크 장비

 1) 리피터 

  - 신호가 약해지거나 잡음으로 인해 형태를 잃지 않도록 신호 증폭 역할(L1)

리피터 : ' 정신차려! ' 하는 역할

 2) 허브(hub)

  - 다중 포트 리피터 역할(L1)

  - Star 형태의 네트워크에서 장치 사이의 연결

  - 기본적으로 broadcasting 방식

허브 : 일단 다 보내줄테니까 자기껀 자기가 알아서 가져가셈

 3) 스위치(switch)

  - 2계층 목적지 주소(MAC)를 확인하고 해당 포트로 패킷 전송

  - 패킷을 목적지 컴퓨터에만 전송

  - 향상된 network 속도

스위치 : 허브보다 똑똑 ➔ 딱 목적지에만 패킷 전송

 4) 라우터(router)

  - 서로 다른 네트워크들을 연결하여 인터네트워크 구성(L1, L2, L3)

  - IP 주소를 검사해서 경로 지정

 5) 최근 → L3 switch, L4 switch, L7 switch 등 많이 발전함

'보안' 카테고리의 다른 글

네트워크 보안 2 (Network scanning, Sniffing)  (0) 2023.04.02
네트워크 보안 1 (DoS, DDoS, DRDoS)  (0) 2023.04.02
네트워크 개요 1 (OSI 7 layer)  (0) 2023.03.17
보안 개론 2  (0) 2023.03.14
보안개론  (0) 2023.03.11

관련글 더보기