- 데이터 링크 계층 = 네트워크 장비간에 신호를 주고 받는 규칙을 정하는 계층
-랜에서 정상적으로 데이터를 주고 받는 규칙을 정하는 계층
-일반적으로 가장 많이 사용 되는 규칙 = 이더넷- 이더넷 = 랜에서 데이터를 정상적으로 주고 받기위한 규칙
- 데이터 충돌을 막기위해 CSMA/CD방식을 사용
- 데이터 충돌 : Collision
- 컴퓨터여러대가 동시에 데이터를 보낼경우 데이터가 서로 부딫히는 것
4.CSMA/CD : Carrier Sense Multiple Access with Collision Detection = 반 송파 방지 다중접속 및 충돌탐지
-CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르는지 확인하는 규칙
-MA : 케이블에 데이터가 흐르지 않는 다면 데이터를 보내도 된다는 규칙
-CD : 충돌이 발생하고 있는지 확인 하는규칙
- MAC 주소 : Midia Access Control Address = 물리주소, 전세계에서 유일한 번호
48비트의 숫자로 구성 앞 24비트 : 제조사 번호 / 뒤 24비트 : 제조사가 붙인 일련번호- 이더넷 헤더구조
목적지 Mac 주소(6 byte) + 출발지 Mac주소(6 byte) + 유형(2 byte)
유형 = 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 식별하는 번호- 트레일러 : Frame Check Sequence(FCS) = 데이터전송중 오류가 발생하는지 확인
헤더(목적지 Mac + 출발지 Mac) + 데이터 + 트레일러 = 프레임 ==> 이러한 과정을 캡슐화 라고 한다.
- 스위치 : Switch = 데이터 링크 계층에서 동작
레이어 2 스위치 또는 스위칭 허브 라고 불린다.
내부에 Mac 주소 테이블이 있다. (브릿지 테이블 이라고도 한다.)
Mac 주소 테이블 = 스위치의 포트 번호와 해당 포트에 연결되어 있는 다른 컴퓨터 의 Mac주소가 등록되는 데이터베이스 이다.
프레임 데이터가 전송이 된다면 Mac주소 테이블 을 확인하고 만약 등록 되어있지 않다면 Mac주소를 포트와 함께 등록한다 => 이러한 기능을 Mac 주소 학습 기능이라고 한다.- 플러딩 : flooding = 스위치가 수신포트 이외의 모든 포트에서 데이터를 송신 하는것
- Mac주소 필터링 : 스위치에서 Mac주소를 기준으로 목적지를 선택하는 것을 의미
- 통신 방식 에는 크게 두가지가 있다.
1 ) 전이중 통신 : 데이터 송수신 을 동시에 통신 하는것
2 ) 반이중 통신 : 회선 하나로 송수신을 번갈아 가면서 통신 하는것
- 컴퓨터 간 직접 랜케이블로 연결하는 방식
-컴퓨터 두 대를 허브에 연결한 경우
(위 그림처럼 동시에 진행을 하게된다면 허브에서는 충돌이 일어날수있으므로 송수신 을 번갈아 가면서 해야한다)- 컴퓨터 두 대를 스위치에 연결한 경우
- 충돌 도메인 : Collision Domain = 충돌이 발생할때 그 영향이 미치는 범위
허브로 연결된 경우는 반이중 통신 방식이기 때문에 충돌이 일어난다. 그리고 허브는 한 포트에 영향이 가면 모든 포트에 영향을 끼친다. 그래서 위 사진처럼 모든 포트의 컴퓨터가 충돌 도메인이 된다.
스위치로 연결된 경우는 전이중 통신 방식이기 때문에 충돌 자체가 일어나지 않고 충돌 도메인은 각각의 포트별로 분리된다.
- 이더넷 규격 : 케이블의 종류와 통신 속도에 따라 분류
- BASE : BASE BAND = 펄스 신호에 의한 디지털 전송방식
ex) 10BASE-T -> 10=통신속도 / BASE=전송방식 / T=케이블
- 네트워크계층의 역할 = 네트워크 간의 통신을 가능하게 하는것
- 라우터 : Router = 다른 네트워크와 통신을 하기위해 필요한 장비
해당 목적지 까지 어떤 경로로 가는 것이 좋은지를 알려 주는 기능을 한다.- IP주소 = 어떤네트워크의 어떤 컴퓨터인지를 구분할수 있도록 하는 주소
- 라우팅 = 목적지 IP 주소 까지 어떤 경로로 데이터를 보낼지 결정하는 것
- 라우팅 테이블 = 경로 정보를 등록 및 관리 하는 곳
- IP 헤더
IP 프로토콜을 사용하여 캡슐화 할때는 데이터에 IP헤더가 추가 되는데 이렇게 만들어 진것을 IP패킷 이라고 한다.
- IP주소 = ISP 인터넷 서비스 제공자 에게 받을 수있다.
IPv4 = 32bit
IPv6 = 128bit- 공인 IP 주소 = ISP가 제공
인터넷에 직접 연결 되는 컴퓨터나 라우터에 할당- 사설 IP 주소
회사나 가정의 LAN
- DHCP : Dynamic Host Configuration Protocol = IP 주소를 자동으로 할당 하는 프로토콜
MAC = 48bit / 16진수
IP = 32 bit / 10 진수- IP주소
1 ) 네트워크 ID - 어떤 네트워크 인지
2 ) 호스트 ID - 해당 네트워크의 어떤 컴퓨터 인지- 1 옥텟 = 8bit
1.네트워크 주소 = 전체 네트워크에서 작은 네트워크를 식별
2. 브로드 캐스트 주소 = 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는데 사용되는 전용 IP
3. 네트워크 주소와 브로드캐스트 주소는 컴퓨터에 설정할 수 없다.
- 서브넷 = 분할된 네트워크
- 서브넷팅 : 네트워크를 분할 하는것
네트워크 ID + 호스트 ID -> 네트워크 ID + 서브넷 ID + 호스트 ID 로 변환하는 것- 서브넷 마스크 = 네트워크 주소와 호스트 주소를 식별 하는 값
- 프리픽스 표기법 = 서브넷 마스크를 슬래시(/비트 수)로 나타낸다.
예를 들어 255.255.255.0은 /24가 된다.
- 라우터 : Router = 네트워크를 분리 할수있게 도와주는것
- 기본 게이트웨이 : Default Gateway = 네트워크의 출입구를 설정하는것
- 라우팅 : 경로 정보를 기반으로 현재 네트워크에서 최적의 경로를 통해 데이터를 전송하는것
- 라우팅 테이블 : 경로정보가 저장되어있는 테이블
등록방법
1 ) 수동 : 소규모 네트워크에 적합
2 ) 자동 : 대큐모 네트워크에 적합- 라우팅 프로토콜 = 라우터간 라우팅 정보를 교환하기 위한 프로토콜
- 전송계층 = 목적지에 신뢰 할수있는 데이터를 전송하기위해 필요
전송계층이 신뢰할수있는 데이터를 어떻게전송하나?
-> 전송계층에는 오류를 점검하는 기능이 존재하며 전송된 데이터의 목적지가 어떤 어플리케이션인지 식별하는 기능이 있다.- 연결형 통신 = 신뢰할수있고 정확한 데이터를 전달하는 통신
신뢰성 및 정확성이 우선이라 여러번 확인 하고 보냄 / TCP사용- 비연경형 통신 = 효율적으로 데이터를 전달하는 통신
효율성이 우선인 통신 확인절차없이 일방적으로 보낸다. (동영상 송출)/ UDP사용
- TCP : Transmission Control Protocol = 연결형 통신 프로토콜
- 캡슐화 = 응용 계층~ 물리 계층까지 데이터를 전달할때 헤더를 붙이는것
- 역캡슐화 = 수신측에서 물리 ~응용 계층까지 헤더를 제거하는 것
- TCP 헤더 = TCP로 전송 할때 붙이는 헤더
- 세그먼트 = TCP 헤더가 붙는 데이터
- 연결(connection) = TCP통신에서 정보를 전달하기 위해 사용되는 가상의 통신으로 연결을 확립하고 데이터를 전송
연결 확립을 위해서 코드비트의 SYN와 ACK가 필요
코드비트 : 연결의 제어 정보가 기록되는것
연결 과정(3way-handshake)
연결을 끊기 위해서는 코드비트의 FIN과 ACK를 사용
- 3-way handshake 가 종료되고 실제 데이터를 보내거나 상대방이 받을때 는 TCP헤더의 일련번호와 확인 응답번호를 사용한다.
- TCP는 데이터를 분할해서 보낸다.
- 일련번호 = 송신측에서 수신측에 '이 데이터가 몇번째 데이터인지 알려주는 역할' 수신측에서는 원래 데이터의 몇 번째 데이터 인지 알수있다.
- 확인 응답번호 = 수신측이 몇번째 데이터를 수신했는지 송신측에 알려주는 역할
확인 응답 번호는 다음번호의 데이터를 요청하는데도 사용이 된다.- 재전송 제어 = 데이터를 재전송 하는것
- 버퍼 = 수신한 세그먼트(데이터)를 일시적으로 저장하는 장소
- 오버플로 = 데이터크기가 버퍼의 크기를 넘어 서는것
- 버퍼의 용량크기 = 윈도우의 크기 / 얼마나 많은 용량의 데이터를 저장할수잇는지
- 포트번호 = 어떤 어플리케이션인지 구분하는 역할
0~65535를 사용
0~1023 = 잘 알려진 포트 / 1025 이후는 랜덤포트
- TCP = 신뢰성있는 데이터를 상대방에게 전달하는것
3-way handshake로 연결 확립- UDP = 데이터를 전송할때 TCP처럼 시간이 걸리는 확인 작업을 일일히 하지 않는다 / 비연결형 통신
효율성 추구 ==> UDP는 데이터를 효율적으로 빠르게 보내는 것
- 브로드캐스트 = 랜에있는 컴퓨터나 네트워크 장비에 데이터를 일괄로 보내는것
- UDP는 랜에서 불특정 다수에게 브로드 캐스트로 데이터를 일괄 전송
위에 컴퓨터 그림이 너무 멋진데요...🧐