: end to end (끝에서 끝으로 Delivery)
Addressing
: IP 주소 체계
Routing
: 어느 노드로 갈지 결정
Fragmenting
: IP 패킷이 네트워크를 지나갈 때 전송 단위(MTU)를 초과하면 쪼개는 과정
라우터가 데이터를 보낼 때 데이터 전송 크기가 큰 경우, 데이터를 쪼개서 전송 후 다시 Reassembly 하는 과정
Packetizing
: 애플리케이션 데이터에 헤더를 붙여 전송 단위(패킷)를 만드는 과정
HTTP → TCP 헤더 추가 → Segment
Segment → IP 헤더 추가 → Packet
Internetworking
: 네트워크와 네트워크 사이를 건너 데이터 통신
Address resolution
: IP 주소와 2계층 주소와 매핑
Routing Protocols (별로 안 중요)
Multicasting
3계층에서 멀티캐스팅 하는 건 예전에 문제가 많아서 막힘
→ 5계층(응용 프로그램 계층)에서 멀티캐스팅 해줌 (ex. 아프리카TV, 트위치 등)
→ 그치만 3계층에서도 멀티캐스팅을 지원하긴 한다! (막혔을 뿐)
| 구분 | 송신자:수신자 | 예시 |
|---|---|---|
| Unicast | 1:1 | 웹사이트 접속, 이메일 |
| Broadcast | 1:모두 (같은 네트워크 안의 모든 장치) | ARP 요청 |
| Multicast | 1:선택된 여러 명 (가입자 그룹) | IPTV, 실시간 스트리밍 |
| Anycast | 1:가장 가까운 하나 | DNS 요청 시 가장 가까운 서버 응답 |

송신 측: Encapsulation 과정
5계층 (응용 계층)
+----------------------------+
| Data |
+----------------------------+
↓
4계층 (전송 계층)
+----------------------------+
| TCP Header | Data |
+----------------------------+
↓
3계층 (인터넷 계층)
+--------------------------------+
| IP Header | TCP Header | Data |
+--------------------------------+
↓
2계층 (데이터링크 계층)
+---------------------------------------------+
| MAC Header | IP Header | TCP Header | Data |
+---------------------------------------------+
↓
1계층 (물리 계층)
→ 0과 1로 인코딩된 bit stream 형태로 전송
수신 측: Decapsulation 과정
2계층 (데이터링크 계층)
+---------------------------------------------+
| MAC Header | IP Header | TCP Header | Data |
+---------------------------------------------+
| (에러 있는지 없는지 검출 후 3계층으로 전송)
↓ (MAC Header 제거)
3계층 (인터넷 계층)
+--------------------------------+
| IP Header | TCP Header | Data |
+--------------------------------+
↓ (IP Header 제거)
4계층 (전송 계층)
+----------------------------+
| TCP Header | Data |
+----------------------------+
↓ (TCP Header 제거)
5계층 (응용 계층)
+----------------------------+
| Data |
+----------------------------+
↓ (사용자에게 전달)


쪼개진 데이터는 마지막 목적지 노드에서 복구됨!!
: 데이터를 보내기 전에 고정적으로 미리 설정하고, 그 회선을 통해 데이터를 연속적으로 전송하는 방식
| 항목 | 내용 |
|---|---|
| 연결 방식 | 통신 전에 회선 설정 필수 |
| 자원 점유 | 통신하는 동안 경로 자원 독점 |
| 지연 | 초기 연결 시간 필요, 이후에는 지연 거의 없음 |
| 품질 | 지속적이고 안정적 (전용 회선이므로) |
| 예시 | 전화 통화(유선 전화망) |
즉, Circuit Switching은 데이터 보내기 전에 반드시 연결부터 설정하고, 연결을 유지하면서 신뢰성 있게 데이터를 전송하는 Connection-oriented 방식임
: 연결 없이 패킷을 각각 따로 전송하는 방식

- 패킷 순서를 보장하지 않기 때문에 Reordering 할 필요할 수 있음
Switching
- 전자교환기는 Circuit Switching (ex. 전화기)
- Conection Oriented
- 데이터 교환기는 Packet Swtiching (ex. 인터넷)
- Conectionless
10000000 00001011 00000011 00011111
=> 128.11.3.31111.56.45.78
=> 01101111 00111000 00101101 01001110
Address Class의 decimal notation

B의 시작 :
A의 시작 + 128(0 + 128 ⇒ 128)C의 시작 :
B의 시작 + 64(128 + 64 ⇒ 192)D의 시작 :
C의 시작 + 32(192 + 32 ⇒ 224)E의 시작 :
D의 시작 +16(224 + 16 ⇒ 240)

+------------------------------+
| Network Id | Host Id |
+------------------------------+A.255.255.255 B.B.255.255 C.C.C.255Network Id와 Network Address는 다른 개념
- Network Address: Netid + Hostid 필드를 0으로 채운 것
- 네트워크 주소는 항상 크기가 동일
- 네트워크 아이디는 Class에 따라 크기가 다름
| 클래스 | IP 주소 범위 | Netid 비트 수 | Hostid 비트 수 | Netid 개수 | Hostid 개수 | 용도 |
|---|---|---|---|---|---|---|
| A | 0.0.0.0 ~ 127.255.255.255 | 8 (앞 1비트는 0) → 실질 7 | 24 | = 128 | = 16,777,216 | 대규모 네트워크 |
| B | 128.0.0.0 ~ 191.255.255.255 | 16 (앞 2비트는 10) → 실질 14 | 16 | = 16,384 | = 65,536 | 중규모 네트워크 |
| C | 192.0.0.0 ~ 223.255.255.255 | 24 (앞 3비트는 110) → 실질 21 | 8 | = 2,097,152 | = 256 | 소규모 네트워크 |
| D | 224.0.0.0 ~ 239.255.255.255 | - | - | - | - | Multicast (멀티캐스트) |
| E | 240.0.0.0 ~ 255.255.255.255 | - | - | - | - | Reserved (실험용) |



192.0.0.- 주소와 200.11.8.- 주소를 받아서 연결 가능한 컴퓨터 개수를 늘림: Netid에다가 Host id가 모두 0인 주소

132.6.17.85의 network address는?
→ 132.6.0.0
17.0.0.0의 class는?
→ A (Netid 영역이 1byte이기 때문)
: 하나의 IP 네트워크를 여러 개의 더 작은 네트워크로 나눈 것
→ 즉, 큰 네트워크의 Netid 일부 비트를 잘라서 여러 서브네트워크로 나누는 방식
| Class | In Binary | Using Slash |
|---|---|---|
| A | 11111111 00000000 00000000 00000000 | /8 |
| B | 11111111 11111111 00000000 00000000 | /16 |
| C | 11111111 11111111 11111111 00000000 | /24 |
/숫자 까지 전부 1로 채우고 나머지는 0 ex) Class A: 11111111 00000000 00000000 00000000190.240.33.91의 subnetwork address는?
Class 구하기
→ 190이니까 Class B
Class B의 Default Mask에 3bit 111을 추가하여 Subnet mask를 만듦
11111111 11111111 11100000 00000000190.240.33.91의 2진수와 Subnet Mask를 &연산
11100000과 & 연산 → 190.240.32“Netid에서 추가적인 bit를 얻고”
→ 정확히는 Hostid 일부를 Netid처럼 사용해서 Subnetid로 확장하는 것
→ 즉, Netid + Subnetid + Hostid 구조로 나눠짐
“나머지 부분은 모두 0으로 채워서 … & 연산”
→ 이건 Subnet Mask와 IP 주소를 & (AND) 연산하여 서브넷 주소를 구한다는 뜻인데,
→ “나머지를 0으로 채운다”는 표현보다는 “서브넷 마스크를 사용한다”가 더 정확함
private netwerks의 주소
| Range | Total |
|---|---|
10.0.0.0 ~ 10.255.255.255 | |
172.16.0.0 ~ 172.16.255.255 | |
192.168.0.0 ~ 192.168.255.255 |

DHCP discover 메세지를 broadcastDHCP offer 메세지로 respondsDHCP request 메세지로 IP address를 요청DHCP ack 메세지로 IP address를 전송: 내부의 IP와 Port 번호를 외부로 접속 가능하도록 바꿔줌

내부 →워크(예: 집, 회사)에서 각각의 컴퓨터는 private IP 주소를 사용함
예: 192.168.0.2, 192.168.0.3 …
이 네트워크의 공유기(라우터)는 public IP를 하나 가지고 있음
예: 203.0.113.10
내부 장치가 인터넷으로 나가려고 하면, NAT는
