컴퓨터 네트워크: Addressing

2021. 9. 9. 01:33·Computer Science/컴퓨터 네트워크
반응형

OSI Layer

 

  • 디바이스 A에서 디바이스 B로 데이터를 전송
  • 각 레이어마다 헤더는 본인 것만 본다. ex) Transport 레이어의 경우 Port Number 헤더만 보고, Network 레이어는 IP 주소 헤더만 본다. Transport 레이어는 IP 주소 헤더에 관여하지 않는다.
  • Layer-to-layer communication: 같은 등급끼리 연락을 주고 받는 것. ex) Transport layer는 문서가 누락되거나 오류가 있을 때 같은 계층인 Transport layer에게 연락을 취해서 데이터의 재전송을 요청한다. 
  • Intermediate node(네트워크 연결장비, 라우터)를 지날 때 패킷은 Data link layer에서 hop to hop delivery, Network layer에서 source to destination의 방식을 이용해 데이터를 전송한다. MAC 주소, IP주소를 이용해 전송하고자 하는 목적지 주소에 다다르면 Transport layer로 올라가 데이터의 신뢰성을 파악한다.
  • +) 라우터를 거칠 때 데이터가 Network 계층으로까지만 이동하는 이유는 그 과정에서 데이터의 신뢰성을 확인할 필요가 없기 때문이다.(택배 운송 과정에서 택배사는 구매자가 주문한 물품을 판매자가 제대로 보냈는지 확인할 필요가 없다.) 

 

Addresses in the TCP/IP protocol suite

  • 데이터가 출발지에서 목적지로 이동하기 위해서는 Port address, Logical address, Physical address가 반드시 필요하다.(Application-Specific address는 선택사항)
  • Port address = Port Number
  • Logical address = IP 주소
  • Physical address = MAC 주소

 

 

Physical addresses

데이터를 10번 컴퓨터에서 87번 컴퓨터로 전송하는 상황이다. 

이 상황을 컨베이어 벨트에 빗대 연상하면 이해가 쉽다. 데이터 프레임은 컨베이어 벨트처럼 28번, 53번, 65번 컴퓨터를 지나간다. 이 때 프레임 헤더에 명시된 Destination address가 87번이므로 87번을 제외한 다른 컴퓨터들은 해당 프레임을 가져가지 않고 무시한다. 

 

 

 

Example 2.3: physical addresses

이더넷 데이터 송수신 방식을 통해 physical address에 대해 더 상세히 알아보자.

중앙의 스위치에 여러 대의 컴퓨터가 연결되어 있다. 스위치는 각각의 컴퓨터들을 서로 연결시키는 역할을 한다.

각 컴퓨터들은 제조사에서 부여한 고유한 주소를 가지고 있으며 이를 MAC주소라 칭한다. 

이 사진에서는 MAC주소가 10번인 컴퓨터에서 MAC주소가 87번인 컴퓨터로 전송되는 데이터 프레임의 예를 보여준다.

초기에 스위치는 목적지인 87번 컴퓨터가 어디 있는지 알지 못하기 때문에, 해당 프레임을 본인이 가진 모든 인터페이스에 전송한다.

만약 본인의 MAC주소가 87이 아니라면 컴퓨터들은 해당 프레임을 무시한다. 만약 본인의 MAC주소가 87번이라면 해당 컴퓨터는 스위치가 보낸 데이터를 수신한다. 

스위치는 해당 MAC주소에서 데이터를 전송했을 때 *매핑테이블에 MAC 주소와 인터페이스 번호(공유기처럼 스위치의 뒷면 port에 번호가 매겨져 있음)를 매핑한 값을 적는다. 수신 시에는 안 적음(스위치는 누가 수신했는지 알지도 못함.)

 

*매핑 테이블: 어떤 인터페이스에 어떤 MAC주소가 매칭되는지 저장해 놓은 테이블

MAC주소 스위치의 포트
10 #1
87 #4
   
   

스위치의 1번 포트에 MAC주소가 10인 컴퓨터가 연결되어 있고 스위치의 4번 포트에 MAC주소가 87인 컴퓨터가 연결되어 있음을 의미한다. 

87번 컴퓨터에서 데이터를 수신했을 때가 아니라, 87번 컴퓨터에서 데이터를 전송했을 때 해당 매핑 테이블을 작성한다.

87번 컴퓨터의 위치를 알고 있으므로 이제 87번 컴퓨터에게 데이터를 전송할 때 #2, #3 포트에는 데이터를 보내지 않는다.

 

 

MAC주소

ex. 07:01:02:01:2C:4B

6-byte (12 hexadecimal digits) physical address

 

 

 

logical addresses ★★★

원본
필기 전체 이미지

Data link layer의 hop to hop delivery, Network layer의 source to destination을 이해할 수 있는 그림.

hop to hop delivery: A → F, T → N, Z → P

source to destination: A → P

 

Logical address

  • = IP 주소
  • 32-bit
  • Networt Layer가 관여
  • 전세계에서 유일
  • like 건물의 우편번호(건물이 가진 고유주소)

 

 

 

port numbers

 

포트번호, ip주소, 헤더 필기

port number

  • Transport Layer에서 관여. 헤더에 보내는 쪽 port 번호와 받는 쪽 port 번호를 붙여서 전송한다. 그림의 a, j
  • like 건물 내 동호수 찾아가기
  • 16-bit
  • 1024번 이후로 부여(1024까지는 정해진 프로세스가 있다)

 

 

 

 


자료 출처:

  • TCP/IP Protocol Suite 4th Edition Slide
    (Behrouz A. Forouzan 저, McGraw-Hill, 2010)
반응형
저작자표시 비영리 변경금지 (새창열림)

'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크: Windows in TCP  (0) 2021.10.01
컴퓨터 네트워크: State transition diagram  (0) 2021.10.01
컴퓨터 네트워크: A TCP Connection  (0) 2021.09.24
컴퓨터 네트워크: Segment  (0) 2021.09.24
컴퓨터 네트워크: TCP Services, TCP Features  (0) 2021.09.09
컴퓨터 네트워크: OSI 7-Layer Model (OSI 7 계층 모델)  (0) 2021.09.02
'Computer Science/컴퓨터 네트워크' 카테고리의 다른 글
  • 컴퓨터 네트워크: A TCP Connection
  • 컴퓨터 네트워크: Segment
  • 컴퓨터 네트워크: TCP Services, TCP Features
  • 컴퓨터 네트워크: OSI 7-Layer Model (OSI 7 계층 모델)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    자바스크립트
    프로젝트
    플러터
    AWS
    Jiraynor Programming
    spring boot
    ZeroCho
    프로그래머스
    블로그 제작
    클론 프로젝트
    백준
    포트폴리오
    d3
    구현
    리액트
    공식문서
    뉴렉처
    알고리즘
    React
    SWEA
    강의내용정리
    웹사이트
    Next.js
    Til
    파이썬
    자바
    타입스크립트
    mysql
    컴퓨터네트워크
    bfs
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
컴퓨터 네트워크: Addressing
상단으로

티스토리툴바