일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Chrome Developer Tools
- carousel slider
- StringUtils.isBlank
- 웹뷰
- Set ID
- VerticalMultiDragGestureRecognizer
- 앱
- 플러터
- fullBackupContent
- gestureRecognizers
- 프로그래머스
- Flutter SDK
- not working
- 플루터
- Flutter
- TextFormField
- 안보내짐
- project flow
- foreground
- freezed
- StringUtils.isEmpty
- TCP/IP모델
- allowBackup
- 에러
- 안드로이드
- runSpacing
- 두 수의 나눗셈
- Could not create service of type FileAccessTimeJournal using
- 입력 커서
- 크롬개발자도구
- Today
- Total
흰오목눈이야 개발하자
네트워크 공부 (4/9) Lesson 4 데이터 링크 계층 본문
2022.08.01.월요일
*데이터 링크 계층: 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 주고받기 위해 필요한 계층이다.
- 규칙들 중에서 가장 많이 사용되는 규칙이 이더넷(Ethernet)이다.
- 이더넷: 랜에서 데이터를 정상으로 주고받기 위한 규칙
- 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있다.
+) 허브의 특징: 약해지거나 파형이 뭉그러진 전기 신호를 복원시키고, 해당 전기 신호를 전달받은 포트를 제외한 나머지 포트에 전달한다.
- CSMA/CD(Carrier Sense Multiple Access with Collision Detection,반송파 감지 다중 접속 및 충돌 탐지): 이더넷에서 시점을 늦추는 방법.
- CS: '데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다'는 규칙 -> 케이블 신호 유무 확인
- MA: '케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다'는 규칙 -> 데이터 송신유무 확인
- CD: '충돌이 발생하고 있는지를 확인한다'라는 규칙 -> 충돌 확인
-> 지금은 효율이 좋지 않다는 이유로 CSMA/CD는 거의 사용하지 않음.
- MAC 주소(Media Access Control Address) = 물리 주소: 전 세계에서 유일한 번호로 할당되어 있다. 랜 카드에 기재되어 있음.
- 48비트로 구성
- 앞쪽 24비트: 랜 카드를 만든 제조사 번호
- 뒤쪽 24비트: 제조사가 붙인 일련 변호
- OSI 모델(데이터 링크 계층), TCP/IP 모델(네트워크 계층)에 해당하는데 이 계층에서 이더넷 헤더와 트레일러를 붙임.
- 이더넷헤더는 목적지의 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) -> 총 14 바이트로 구성되어 있음.
- 이더넷 유형(Ethernet type) : 이더넷으로 전송되는 상위 계층 프로토콜의 종류
- 트레일러: 이더넷 헤더 외에 데이터 뒤에 추가하는 것
= FCS(Frame Check Sequence) : 데이터 전송 도중에 오류가 발생하는지 확인하는 용도
- 프레임: 이더넷 헤더와 트레일러가 추가된 데이터
- 정리) 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고, 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송함
- 허브는 모든 데이터를 포트에 전송하지만 목적지 주소가 다른 경우는 데이터를 파기함.
과정 검토)
A 컴퓨터가 데이터를 보냄 -> A 컴퓨터에서 캡슐화가 일어남 (= 프레임 만들고 물리 계층에서 프레임 비트열을 전기신호로변환하여 네트워크를 통해 전송) ---->(허브에서 데이터를 모든 포트에 전송. MAC 목적지 확인. 다른 MAC 목적지 주소면 데이터 파기) ----> B 컴퓨터로 신호가 오면(MAC 목적지 주소가 같음) 역캡슐화 함. (= 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리함) -> B 컴퓨터에서 데이터를 받음
- 스위치(switch) = 레이어 2 스위치 = 스위칭 허브 : 데이터 링크 계층에서 동작. 장비 외형은 허브와 비슷함.
- 스위치 내부에는 MAC 주소 테이블이 있다.
- +) MAC 주소 테이블(MAC address table) = 브리지 테이블(bridge table) : 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스
MAC 주소 테이블 | |
포트 | MAC 주소 |
- 스위치 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않다.
- 하지만, 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이라는 데이터가 전송되면 MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않은 경우 MAC 주소를 포트와 함께 등록함. = MAC 주소 학습 기능 <- 허브에는 없는 기능
- 플러딩(flooding, 홍수) : 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것
- MAC 주소 필터링: MAC 주소를 기준으로 목적지를 선택하는 것
- 전이중 통신 방식(full-duplex communication): 데이터의 송수신을 동시에 통신하는 방식
- 반이중 통신 방식(half-duplex communication): 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
- 허브 내부에는 송수신이 나누어져 있지 않음. -> 허브를 사용하면 회선 하나를 송신과 수신이 번갈아가면서 사용하는 반이중 통신 방식을 사용함.
- 허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 때문에 최근에는 네트워크로 스위치를 사용하는 것이 표준이다.
- 스위치의 경우, 충돌이 일어나지 않는 구조로 되어 있기 때문에 전이중 통신 방식으로도 데이터 주고 받을 수 있음
- 스위치는 전송하면서 동시에 수신도 가능해서 효율이 높음
- 충돌 도메인(collision domain): 충돌이 발생할 때 그 영향이 미치는 범위
허브 | 스위치 | |
충돌 도메인 범위 | 넓음 | 좁음 |
네트워크 | 지연이 심함 | 충돌 도메인 범위가 좁아서 지연 영향이 적음 |
'네트워크' 카테고리의 다른 글
네트워크 공부 (6/9) Lesson 6 전송 계층 (0) | 2022.08.21 |
---|---|
네트워크 공부 (5/9) Lesson 5 네트워크 계층 (0) | 2022.08.04 |
네트워크 공부 (3/9) Lesson 3 물리 계층 (0) | 2022.07.15 |
네트워크 공부 (2/9) Lesson 2 (0) | 2022.07.14 |
네트워크 공부 (1/9) Lesson 1 (0) | 2022.07.13 |