이번 포스팅에서는 지난번에 이어 OSI 모델의 계층에 대해 알아보자.
Chapter 3. 물리 계층 : 데이터를 전기 신호로 변환하기
목표
- 전기 신호를 이해한다.
- 랜 케이블을 이해한다.
- 리피터를 이해한다.
- 허브를 이해한다.
09. 물리 계층의 역할과 랜 카드의 구조
1. 물리 계층의 역할
- 데이터(0과 1의 비트열)를 전기 신호로 변환
2. 전기 신호
- 아날로그 신호 : 물결 모양 ex. 전화 회선, 라디오 방송 등에서 사용
- 디지털 신호 : 막대 모양
3. 랜 카드
- 네트워크를 통해 데이터를 송수신
- 0과 1을 전기 신호로 변환하는 역할
10. 케이블의 종류와 구조
1. 전송 매체
- 데이터가 흐르는 물리적인 선로
- 유선 ex. 트위스트 페어 케이블, 광케이블 등
- 무선 ex. 라디오파, 마이크로파, 적외선 등
2. 트위스트 페어 케이블 = 랜LAN 케이블
- 가장 많이 사용됨
- UTP Unshielded Twist Pair 케이블 = 비차폐 연선
- 실드shield*로 보호되어 있지 않은 케이블
- 저렴하여 일반적으로 많이 사용함
- STP Shielded Twist Pair 케이블 = 차폐 연선
- 실드로 선을 보호한 케이블
- 노이즈의 영향을 매우 적게 받지만 비싸서 보편적으로 사용하지 않음
- 노이즈
- 케이블에 전기 신호가 흐를 때 발생
- 전기 신호의 형태를 왜곡함
* 실드shield : 금속 호일/금속의 매듭 등 외부에서 발생하는 노이즈noise를 막는 역할
3. 랜 케이블의 종류
- 다이렉트 케이블
- 컴퓨터와 스위치를 연결 시 사용
- 크로스 케이블
- 컴퓨터 간에 직접 랜케이블로 연결 시 사용
11. 리피터와 허브의 구조
1. 리피터
- 네트워크 중계 장비
- 멀리 있는 상대와도 통신할 수 있도록 전기 신호를 정형(일그러진 전기 신호를 복원)하고 증폭함
- 일대일 통신만 가능
- 요즘은 다른 네트워크 장비가 리피터 기능을 지원하여 사용하지 않음
2. 허브 = 리피터 허브
- 리피터와 같은 전기 신호를 정형하고 증폭하는 기능
- 포트(실제로 통신하는 통로)가 여러개 = 여러 대와 통신 가능
- 포트에 연결된 컴퓨터 A가 다른 포트에 연결된 컴퓨터 B로 데이터를 보낼 때, 허브는 받은 데이터를 B 뿐만 아니라 다른 포트에 연결된 나머지 컴퓨터들에도 해당 데이터를 전송함 => 더미 허브dummy hub
Chapter 4. 데이터 링크 계층 : 랜에서 데이터 전송하기
목표
- 이더넷을 이해한다.
- CSMA/CD 방식을 이해한다.
- MAC 주소를 이해한다.
- 스위치를 이해한다.
- 충돌 도메인을 이해한다.
- 이더넷 표준을 이해한다.
12. 데이터 링크 계층의 역할과 이더넷
1. 데이터 링크 계층
- 랜에서 데이터를 주고받기 위해 필요
- 네트워크 장비 간에 신호를 주고받는 규칙(ex. 이더넷)을 정하는 역할
2. 이더넷
- 가장 많이 사용되는 규칙
- 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용
- 전송될 데이터에 목적지 정보를 추가하여 목적지 이외의 컴퓨터에서는 데이터를 받더라도 무시하도록 함
- 충돌*이 일어나지 않는 구조로 되어있음
*충돌 : 컴퓨터 여러대가 동시에 데이터를 보내면 데이터들이 서로 부딪힐 수도 있음
3. CSMA/CD
- 이더넷에서 충돌을 막기 위해 시점을 늦추는 방법
- CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지 확인
- MA : 케이블에 데이터가 흐르지 않고 있다면 데이터를 전송
- CD : 충돌이 발생하고 있는지 확인
- 현재는 효율이 좋지 않아 거의 사용하지 않음
13. MAC 주소의 구조
1. MAC 주소 Media Access Control Address
- 랜카드에 새겨진 물리 주소
- 전 세계에 하나뿐임
2. 이더넷 헤더
목적지 MAC 주소 | 출발지 MAC 주소 | (이더넷) 유형 |
6byte | 6byte | 2byte |
- 이더넷 유형Ethernet type : 이더넷으로 전송되는 상위 계층 프로토콜의 종류
3. 트레일러 = FCS Frame Check Sequence
- 데이터 전송 도중에 오류의 발생 여부 확인하는 용도
4. 프레임
- 이더넷 헤더와 트레일러가 추가된 데이터
14. 스위치의 구조
1. 스위치 = 레이어 2 스위치 = 스위칭 허브
- 데이터 링크 계층에서 동작
- 내부에 MAC 주소 테이블이 존재
2. MAC 주소 테이블MAC address table = bridge table
- 스위치의 포트 번호와 해당 포트에 연결된 컴퓨터의 MAC 주소가 등록되는 데이터베이스
3. 플러딩fldding(홍수)
- 아직 MAC 주소가 MAC 주소 테이블에 존재하지 않을 때, 송신 포트 이외의 포트에 데이터(프레임)가 전송되는 것
4. MAC 주소 필터링
- MAC 주소를 기준으로 목적지를 선택하는 것
15. 데이터가 케이블에서 충돌하지 않는 구조
1. 전이중 통신 방식
- 데이터의 송수신을 동시에 통신하는 방식 ex.랜 케이블, 스위치
2. 반이중 통신 방식
- 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
- 따라서 데이터를 동시에 전송 시 충돌이 발생함 ex. 허브
3. 충돌 도메인
- 충돌이 발생할 때 그 영향이 미치는 범위
- 허브의 경우, 연결되어 있는 모든 컴퓨터가 하나의 충돌 도메인이 됨
- 스위치의 경우, 해당 컴퓨터만 충돌 도메인이 됨
16. 이더넷의 종류와 특징
1. 이더넷 규격
- 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류됨
- 규격명 뜻
ex. 10BASE-T
- 10 : 통신 속도 = 10Mbps
- BASE : 전송 방식 = BASEBAND
- T : 케이블 종류
Chapter 5. 네트워크 계층 : 목적지에 데이터 전달하기
목표
- IP를 이해한다.
- 라우터를 이해한다.
- IP 주소를 이해한다.
- 서브넷을 이해한다.
- 라우팅을 이해한다.
17. 네트워크 계층의 역할
1. 네트워크 계층
- 서로 다른 네트워크에 있는 목적지로 데이터를 전송하기 위해 필요
= 네트워크 간의 통신을 가능하게 함
- 다른 네트워크로 데이터를 전송하기 위해선 라우터router가 필요
2. 라우터
- 데이터의 목적지가 정해지면, 해당 목적지까지 어떤 경로로 가는 것이 좋은지 알려줌
- 라우팅 케이블이 존재
3. IP 주소
- 어떤 네트워크의 어떤 컴퓨터인지 구분할 수 있도록 하는 주소
4. 라우팅
- 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것
5. IP 헤더
6. IP 패킷
- IP 헤더가 추가된 데이터
18. IP 주소의 구조
1. IP 주소
- 우편물의 '주소'와 같은 역할
- 데이터를 다른 네트워크의 목적지로 보내기 위해 필요
- 인터넷 서비스 제공자ISP가 제공함
- IP 버전 : IPv4(32bit), IPv6(128bit) -> IPv4가 부족해짐에 따라 IPv6를 주로 사용하게 될 예정
- 공인 IP 주소
- ISP가 제공함
- 인터넷에 직접 연결되는 컴퓨터, 라우터에 할당됨
- 사설 IP 주소
- 회사나 가정의 랜에 있는 컴퓨터에 할당됨
- 네트워크 관리자가 할당하거나, 라우터의 DHCP* 기능 사용하여 자동 할당
- 실제로는 2진수로 되어있으나, 구분하기 쉽도록 10진수로 표시 : 2진수를 8bit 단위로 나눠서 표시(옥텟) -> 8bit 10 진수로 표시
- 네트워크 ID : 어떤 네트워크인지 ex. 00시 00아파트
- 호스트 ID : 해당 네트워크의 어느 컴퓨터인지 ex. 000동 000호
*DHCP Dynamic Host Configuration Protocol : IP 주소를 자동으로 할당하는 프로토콜
2. (IP 주소의) 클래스class
- 네트워크 크기 : 네트워크 ID를 크게 만들거나 호스트 ID를 작게 만들어 네트워크 크기를 조정할 수 있음
클래스명 | 설명 | 공인 IP 주소 범위 | 사설 IP 주소 범위 |
A 클래스 | 대규모 네트워크 주소 : 처음 8bit가 네트워크 ID, 나머지 24bit가 호스트 ID |
1.0.0.0 ~ 9.255.255.255 11.0.0.0 ~ 126.255.255.255 |
10.0.0.0 ~ 10.255.255.255 |
B 클래스 | 중형 네트워크 주소 : 처음 16bit가 네트워크 ID, 나머지 16bit가 호스트 ID |
128.0.0.0 ~ 172.15.255.255 172.32.0.0 ~ 191.255.255.255 |
172.16.0.0 ~ 172.31.255.255 |
C 클래스 | 소규모 네트워크 주소 : 처음 24bit가 네트워크 ID, 나머지 8bit가 호스트 ID |
192.0.0.0 ~ 192.167.255.255 192.169.0.0 ~ 223.255.255.255 |
192.168.0.0 ~ 192.168.255.255 |
D 클래스 | 멀티캐스트(multicast) 주소 | ||
E 클래스 | 연구 및 특수용도 주소 |
20. 네트워크 주소와 브로드캐스트 주소의 구조
1. 네트워크 주소
- ex. C 클래스의 사설 IP 주소
- 호스트 ID가 10진수로 0이고, 2진수면 00000000인 주소
- 호스트 ID가 10진수고, 첫 번째 숫자가 0
- 전체 네트워크에서 작은 네트워크를 식별하는 데 사용
- 전체 네트워크의 대표 주소 : 호스트 ID가 10진수로 0이면 그 네트워크 전체를 대표함
2. 브로드캐스트 주소
- ex. C 클래스의 사설 IP 주소
- 호스트 ID가 10진수로 255고, 2진수면 11111111인 주소
- 호스트 ID가 10진수고, 마지막 숫자가 255
- 전용 IP 주소 : 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는 데 사용
=> 네트워크 주소와 브로드캐스트 주소는 자신의 IP 주소로 설정하면 안됨
21. 서브넷의 구조
1. 서브넷의 필요성
- 수많은 컴퓨터가 브로드캐스트 패킷을 전송하면 네트워크가 혼잡해짐
-> 대규모 네트워크를 작은 네트워크로 분할해야 할 필요성 : IP 주소의 효과적인 활용 가능
2. 서브넷팅subneting
- 네트워크를 분할하는 것
3. 서브넷subnet
- 분할된 네트워크
- 호스트 ID에서 bit를 빌려 서브넷으로 만들 수 있음
4. 서브넷 마스크
- 네트워크 ID와 호스트 ID를 식별하기 위한 값
- 프리픽스prefix 표기법 : 서브넷 마스크를 슬래시(/ bit 수)로 나타낸 것 ex. 255.255.255.0 => /24
22, 라우터의 구조
1. 라우터
- 네트워크를 분리할 수 있음
- 기본 게이트웨이 : 라우터의 IP 주소 = 네트워크의 출입구
2. 라우팅
- 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송함
3. 라우팅 테이블
- 경로 정보가 등록되어 있는 테이블
- 수동 등록 방법 : 소규모 네트워크에 적합
- 자동 등록 방법 : 대규모 네트워크에 적합
4. 라우팅 프로토콜
- 라우터 간에 라우팅 정보를 교환하기 위한 프로토콜
ex, RIP, OSPF, BGP
'공부 > TIL' 카테고리의 다른 글
[vue.js + electron] electron:serve에서는 보이던 화면이 electron:build하면 안보일 때 해결 방법 (0) | 2023.07.03 |
---|---|
[모두의 네트워크] 6장 - 8장(전송 계층, 응용 계층, 네트워크의 전체 흐름) (0) | 2023.07.01 |
[모두의 네트워크] 네트워크 첫걸음, 네트워크의 기본 규칙 (0) | 2023.06.17 |
EChart 차트 영역 별로 각각 배경 색 지정(markArea) (0) | 2023.03.17 |
[Vue, JS] FileReader.onload 순서대로 실행(feat. Promise) (0) | 2022.11.09 |