https://m.blog.naver.com/PostView.nhn?blogId=stop2y&logNo=220535105368&proxyReferer=https:%2F%2Fwww.google.com%2F
https://m.blog.naver.com/PostView.nhn?blogId=jga0674&logNo=220889103117&proxyReferer=https:%2F%2Fwww.google.com%2F
- 데이터링크 계층은 세그먼트 내(라우터와 라우터 간의 범위)에서의 송수신 역할을 한다. 세그먼트 간 데이터 송수신 역할을 하는 것이 네트워크 계층의 역할이다.
- IPv4 : 32자리. 8자리씩 끊어서 4개의 10진수로 표기한다 (4 옥텟)
- 3계층의 역할
- 어드레싱 - MAC주소는 '장소를 특정할 수 없는' 주소이다. 그래서 3계층을 위한 주소(라우터, 네트워크 인터넷 통신)가 필요하다.
- 논리주소 - 3계층에서 사용하는 주소. 위치정보 포함(어느 네트워크의 어느 컴퓨터)
- 물리주소 - 2계층에서 사용하는 주소. MAC주소. 위치정보 X (그냥 어느 컴퓨터)
- 라우팅 - 수신처 네트워크까지 어떤 경로로 갈 지를 결정
- 두 작업을 수행하기 위한 프로토콜로서, TCP/IP 프로토콜군에서 사용되는게 IP(Internet Protocol)
- IPv4, IPv6가 있는데, 서로 호환 안됨. 둘 다 사용하는건 가능
- 3계층의 PDU - IP 데이터그램 (IP헤더가 붙은 상태)
- 계층형 주소 - 어디의→어디의→어디의→뭐
- 논리 주소에도 유니캐스트, 멀티캐스트, 브로드캐스트의 3종류가 있다
- MAC주소와 달리 IP주소는 네트워크 관리자가 부여한다
- ICANN이 네트워크 번호를 할당하고, 관리자가 호스트 번호 할당하고.
- 호스트 번호가 모두 0이거나 모두 1인건 할당하면 안된다
- 모두 0이면 네트워크 주소
- 모두 1이면 브로드캐스트 주소
- 클래스풀 어드레싱
- 클래스 A0 B10 C110 (D1110 E1111)
- 클래스로 나누면 너무 크니까, 다시 서브넷으로 나눈다 - 호스트 번호의 일부를 줄여서.
- (10101100 . 00010000) . (000001) (00 . 00000001)
- 어디까지가 네트워크+서브넷 주소인지, 어디부터가 호스트 주소인지 표기하기 위해
- 서브넷 마스크를 사용한다. 11111111 . 11111111 . 11111100 . 00000000
- 클래스풀 어드레싱은 클래스 간 범위가 너무 넓어서 클래스리스 어드레싱이 나왔다.
- 이더넷을 사용해서 IP데이터그램을 송수신하기 위해 필요한 4개의 주소
- 수신처 MAC 주소, 송신처 MAC 주소
- 수신처 IP 주소, 송신처 IP 주소
- 송신처 IP 주소
- 직접 수동으로 할당
- DHCP 통신하여 자동 할당
- DHCP - 할당 작업을 수행하는 서버와 할당받는 클라이언트로 이루어진다
- IP주소 풀 - 관리자가 할당(대여)할 주소의 범위
- 클라이언트 → DISCOVER 브로드캐스트 → 서버
- 클라이언트 ← OFFER 브로드캐스트 ← 서버 (IP주소 풀에서 하나 선택해서 보냄)
- 클라이언트 → REQUEST 브로드캐스트 → 서버 (문제 없네요 이거 쓸게요)
- 클라이언트 ← ACK ← 서버 (네 쓰세요. 기타등등 옵션 설정, 서브넷마스크 등)
- 수신처 MAC 주소는 ARP(Address Resolution Protocol)로 구한다.
- 상대방의 MAC 주소를 모르므로, ARP 테이블에서 MAC 주소를 구해서 통신한다
- ARP 테이블 - IP주소와 MAC주소의 대응표
- 상대방의 MAC 주소가 ARP테이블에 없으면 - ARP 요청(브로드캐스트) !https://s3-us-west-2.amazonaws.com/secure.notion-static.com/13b3cdac-c613-4e50-a993-50c5890797d0/Untitled.png
- 다른 네트워크에 보낸다면?? 브로드캐스트는 라우터 못넘는다매
- A, A라우터, B라우터, B
- A가 B로 데이터를 보내려고 ARP 브로드캐스트 하면
- A라우터가 그걸 받고 우리 네트워크에 B가 없다는걸 파악한 뒤,
- A에게 A라우터 자신의 맥주소를 보낸다. "나한테 보내면 내가 B한테 전달해줄게"
- A는 목적지 맥주소를 A라우터로 변경한 뒤 A라우터에게 PDU를 보낸다 (src IP와 dest IP는 그대로. 맥주소만 변경)
- A라우터는 그걸 받고, B라우터로 보낸다 (어떻게 되는거지?) - IP 라우팅
- B라우터는 그걸 받고, B에게 보내기 위해 ARP 브로드캐스트를 보낸다
- B라우터는 목적지 맥주소를 B로 변경한 뒤 B에게 PDU를 보낸다
- A - B 통신 완료
- 수신처 IP 주소는 도메인 이름을 사용해서 구한다 - IP주소와 마찬가지로 ICANN에서 관리
- DNS서버에 요청한다 - 이름과 IP주소의 대응 대이터베이스를 가지고 있다
- DNS서버는 각 조직에 하나씩 있음. 그 조직의 도메인 명만 관리한다
- 가까운 DNS 서버에 물어보고, 거기에 없으면 해당 도메인이 있는 DNS서버에 물어보고 그 응답을 반환해준다
- 송신처 MAC 주소 : 송신할 기기의 인터페이스 고정주소
- 송신처 IP주소 : 수동 할당 또는 DHCP
- 수신처 MAC 주소 : ARP
- 수신처 IP 주소 : DNS