둘셋 개발!

[네트워크] L4 Transport Layer 본문

네트워크

[네트워크] L4 Transport Layer

23 2022. 6. 7. 20:16

Transport Layer의 역할

: end-to-end data 전송을 위한 논리적인 통신을 함

(end = 응용 프로그램)

 

- Ip 및 Port 번호로 식별해서 통신을 한다.

 

- Ip 계층에 대해 제어를 한다.

  •  동적 Ip 주소관리
  • Ip 변환
  • Ip packet 흐름 제어 (L3인 network layer의 error control, flow control)

 


Transport Layer 종류

따로 연결을 하지 않고 application layer에서 내려준 데이터를 그대로 전송하는 UDP,

연결을 안전하게 한 뒤에 전송을 하는 TCP로 나눠볼 수 있다.

 

1. UDP (User Datagram Protocol)

- 사실상 IP의 기능만 하고, Application 계층에서 flow control 등의 기타구현을 함

-> 간단하게 checksum 정도만 확인하고 error control이나 flow control을 하지 않는 다는 것을 알 수 있음

 

- 장점

: Connection establishment 과정이 불필요함

: 헤더가 짧기 때문에 Packet header overhead가 적음

 

 

2. TCP (Transmission Control Protocol)

- process 간 three way handshake를 통해 연결을 하고 데이터를 전송함

 

- 특정 port로 connet establishment 메시지를 수신해서 연결을 하고 나서 socket과 port번호가 연동됨

-> sequence number: error control, flow control를 할 때 사용

-> Ack number: 다음번 수신 할 number을 보냄

-> Receive window: flow control 할 때 사용

 


DHCP (Dynamic Host Configuration Protocol)

: 특정 host에 대해 Ip를 동적으로 할당 하기 위한 프로토콜

 

- DHCP 의 필요성

: WIFI나 subnet 내 불특정 다수의 host에 대한 IP address를 편리하게 부여하기 위해

 

 

- 가능한 Ip address pool내에서 선택해서 요청 host에게 동적으로 할당함

 

 

- DHCP 시나리오

 1. 특정 host가 새로 등장한다.

 2. DHCP server로 Ip 주소를 요청한다.

 3. 가능한 Ip address pool내에서 선택해서 요청 host에게 Ip 주소를 할당하는 response msg을 보낸다.

 

-> 255.2555.2555.2555의 Ip로 보낸다는 것은 모든 사람에게 보여지는 broadcasting을 한다는 것

모든 사람에게 보여지면 Ip 주소를 할당하는 DHCP 서버가 응답하는 구조임

 


NAT (Network Address Translation)

: subnet가 하나의 IP를 할당 받아서 해당 subnet의 여러 host들이 공통으로 사용!

내부적으로는 Ip를 따로 주소 외부로 나갈 때는 할당받았던 하나의 Ip를 사용

 

 

- 초기 Outgoing packet에 대햇 translation table 항목을 생성하고 port번호를 부여

 

- Internal network내 host를 감춤 (보안 기능)

 

- 절대적으로 수가 부족한 IP address를 국지적으로 사용할 수 있게 해준다. (사실 이 때문에 IPv6가 나왔지만  Ipv4에서 nat로 해결가능)

 


UPnP (Universal Plug and Play)

: 외부에서 접속이 필요한 서비스를 NAT 환경에서 지원하기 위한 프로토콜

 

- Private IP/port와 public IP/port를 미리 지정

 


Firewall

: internal network(서브넷 내부)와 internet의 경계를 짓는 존재

 

- Firewall의 목표 3가지

1. 보안과 서버 부하를 막기위해 모든 양방향 traffic이 firewall을 통해 지나가도록함

2. Local security policy에 듸해 규정된 허용 traffic만 통과시킴

3. Firewall 자체도 보안에 매우 강해야 함 (보안이 약하면 오히려 없는게 나음)

 

- Traditional Packet Filters

: 서브넷의 용도, 관리자의 의도에 맞게 적절하게 필터를 수동으로 정함

: IP와 port 번호를 조합하여 규칙을 생성

- Stateful Packet Filter

: 명확하게 Ip,port번호로 규칙을 생성하여 필터를 함

 

                 ✏️ Check connection

                           : tranditional packet filters에 check connection이 0로 되어 있으면 stateful packet filter도 거쳐야함