전송 계층(L4)에서 가장 중요한 프로토콜 : TCP, UDP
TCP와 UDP가 어떤 기능과 차이점이 있는지 각각의 목적과 특징에 집중
IP주소:포트번호 형식으로 표기
⭐️ 전송계층(TCP, UDP)의 주요 목적 : 포트를 통한 프로세스 식별
3가지 종류의 포트 번호 : 잘 알려진 포트, 등록된 포트, 동적 포트
| 포트 종류 | 포트 번호 범위 |
|---|---|
| 잘 알려진 포트 | 0 ~ 1023 |
| 등록된 포트 | 1024 ~ 49151 |
| 동적 포트 | 49152 ~ 65535 |
잘 알려진 포트(well known port)
| 잘 알려진 포트 번호 | 설명 |
|---|---|
| 20,21 | FTP |
| 22 | SSH |
| 23 | TELNET |
| 53 | DNS |
| 67, 68 | DHCP |
| 80 | HTTP |
| 443 | HTTPS |
등록된 포트(registered port)
| 등록된 포트 번호 | 설명 |
|---|---|
| 1194 | OpenVPN |
| 1433 | Microsoft SQL Server 데이터베이스 |
| 3306 | MySQL 데이터베이스 |
| 6379 | Redis |
| 8080 | HTTP 대체 |
동적 포트(dynamic port)
사설 포트(private port), 임시 포트(ephemeral port) 라고도 불림
EX : 웹 브라우저를 통해 특정 웹사이트에 접속하는 경우 (웹 브라우저 프로그램과 서버 프로그램이 서로 패킷을 주고 받는 상황)
웹 브라우저 프로그램에는 동적 포트 내 임의의 포트 번호가 자동으로 할당됨

https://blog.naver.com/PostView.nhn?blogId=shs6903&logNo=220481726984
TCP 헤더 내 필드(알아야 할 피드 3가지만)
TCP는 연결 수립 및 종료, 신뢰성 보장을 위한 여러 기능을 제공하므로 헤더 필드 수가 매우 많음
순서 번호 필드
TCP 패킷(TCP 세그먼트)의 올바른 송수신 순서 보장을 위해 세그먼트 첫 바이트에 매겨진 번호
현재 주고받는 TCP 세그먼트가 송수신하고자 하는 데이터의 몇 번째 바이트에 해당하는지 확인 가능
확인 응답 번호 필드
상대 호스트가 보낸 세그먼트에 대한 응답으로, 다음으로 수신하길 기대하는 순서 번호
수신측 호스트가 송신측 호스트에 ‘해당 세그먼트는 확인 응답 번호를 포함하고 있음’을 알리기 위해 먼저 ACK 플래그를 1로 설정 필요
ACK 플래그 : 제어 비트에서 승인을 나타내는 비트
즉, 확인 응답 번호 값을 보내기 위해서는 제어 비트의 ACK 플래그가 1로 설정되어 있어야 함
확인 응답 번호를 통해 상대 호스트가 다음으로 받고자 하는 패킷이 무엇인지를 확인 가능
→ 즉, TCP 신뢰성 보장은 대부분 확인 응답 번호를 통해 이뤄진다고 봐도 무방