한걸음씩
로그인
한걸음씩
로그인
하루 3분 네트워크 교실 - 5장. 커넥션과 포트 번호
이지섭
·
2023년 11월 18일
팔로우
0
네트워크
하루 3분 네트워크 교실
목록 보기
1/5
4계층의 역할과 개요
1계층 - 케이블이 연결되어있는 상대에 대한 신호 전달
2계층 - 세그먼트 내에서의 송수신
3계층 - 네트워크(3계층에서의 세그먼트) 사이에서의 송수신
4층과 그 이상 - 전달할, 전달된 데이터에 대해서 필요한 처리를 하는 것
통신에 필요한 처리.
TCP Transmission Control Protocol
UDP User Datagram Protocol
즉, 3계층까지는 수신처 자체가 존재하지 않거나, 데이터가 도중에 손실되었거나, 에러에 의해 파기되는 문제에 대해서는 생각하지 않는다.
그래서 4계층에서 에러 복구를 다룬다.
에러복구 말고도 흐름제어도 다룬다
처리 능력을 넘어선 정보를 받았을 때 파기되는것을 막는다.
over flow
데이터를 주고받는것은 결국 어플리케이션이다!
어느 어플리케이션이 송신하고 수신했는지 알기 위해 포트번호를 부여한다
ex)
브라우저 - 2000번
메일 - 3000번
FTP - 4000번
어떤 메세지를 수신하니 2000번 포트번호가 쓰여있다. 그럼 이건 브라우저가 수신할 메세지이다.
이런 식
커넥션 - 데이터의 길, 가상의 통신로(TCP 헤더 : 20옥텟)
커넥션 확립 : 3way handshake
→ SYN
← ACK + SYN
→ ACK
4계층 TCP헤더 + 메세지 (메세지를 쪼개서 MSS 단위로 만들어서 보낸다)
MSS - Max Segment Size
세그먼트에 시퀀스 번호를 부여해서 에러복구용으로 사용한다.
세그먼트를 수신하면 확인응답을 보낸다
다음에 받을 00번 데이터 보내주세요
도착하지 않으면 재전송함
RTT - 확인응답이 돌아오는 데 걸린 시간 (초기값 3초)
너무 핑퐁만 하면 시간이 오래걸리니까 한번에 보내고 한번에 응답받는다
윈도우 제어 (버퍼에 저장) 버퍼크기 = 윈도우 사이즈
상대에게 남은 버퍼 정보(윈도우 사이즈)를 알려준다
윈도우 사이즈만큼 보내면 overflow 하지 않는다. 확인응답 기다리지 않고 한번에 보낼 수 있는 양!
포트번호 - 어느 애플리케이션에서 송수신 되었는지 결정
수신처 포트번호를 모르면 통신 불가
자주 사용하는 통신 애플리케이션(정보를 제공하는 어플리케이션)들은 사전에 정해진 포트번호를 사용한다
1 ~ 1023 (well known port)
1024 ~ 65536 미등록 포트번호 (임의로 원하는거 정해서 사용)
UDP - TCP는 전송-확인 반복돼서 전송 효율이 낮다
UDP 헤더는 수신처 송신처 포트번호만 딸랑 있음
고속, 실시간 애플리케이션에서 사용 (VoIP, 스트리밍)
브로드캐스트에 사용 (DHCP)
ICANN에서 관리하는 IP주소 : 글로벌 IP주소 (부족함)
인터넷에 연결하지 않는 IP주소 : 사설 IP주소
10.0.0.0
172.16.0.0 ~ 172.31.0.0
192.168.0.0 ~ 192.168.255.0
네트워크 주소 변환 NAT
내부 네트워크에 사설 IP를 할당한다 (TCP/IP 통신을 위해)
단점 : 동시접속 수 (라우터에 할당된 글로벌 IP주소 개수만큼 동시접속 가능. 1:1대응)
라우터가 NAT를 하여 송신처 IP주소를 자신의 IP주소로 바꾼다
데이터를 다시 수신하면, NAT 테이블(일정시간 후 파기)에 따라 수신처 IP주소를 이전의 송신처 IP주소로 변환한다
그래서 나온게 NAPT (+port)
하나의 글로벌 IP로도 복수의 컴퓨터 통신 가능
포트번호도 변환한다.
장점 : 보안성 굿
수신처 포트 80으로 보내도 어차피 못받음. 내부망 열람이 안됨. 접속불가
정적 NAPT : LAN 내부에 접속하기 위해 NAPT 테이블에 포트번호를 미리 저장시킨다
단점 : 그래서 FTP 안됨
FTP에서는 데이터 부분에서부터 송신처의 IP주소와 포트번호가 기술되고, 그 정보로 통신을 수행하기 때문
FTP 지원하는 기기가 따로 있다
5계층 - 세션관리
애플리케이션과의 대화 (다이얼로그 제어)
데이터 전송 타입, 데이터 전송 준비 (제어 커넥션)
실제 데이터 전송 (데이터 전송 커넥션)
전송 종료 (제어 커넥션)
6계층 - 표현계층
컴퓨터간 형식 차이를 변환한다
ASCII → 네트워크 전송용 코드 → EBCDIC
압축, 암호화 등 포함
7계층 - 응용계층
네트워크 서비스를 제공하는 계층
목적에 따른 프로토콜들로 나뉜다
HTTP, FTP, SMTP, 등등 (TCP/IP → 이더넷 → 도착)
이지섭
Stop thinking. Just do it.
팔로우
다음 포스트
하루 3분 네트워크 교실 - 4장. 라우팅
0개의 댓글
댓글 작성