⚡홈네트워크는 어떻게 구성되나요?
홈 네트워크는 모뎀, 공유기, 단말 간 물리적 연결로 구성됩니다.
무선 연결은 무선 랜 카드와 무선 신호를 보낼 수 있는 매체가 필요하고
유선 연결은 유선 랜카드(이더넷 랜카드, 랜케이블)이 필요합니다.
⚡프로토콜이 뭔가요?
네트워크에서 프로토콜이란 네트워크 상에서 통신할 때의 규정, 규약을 뜻합니다.
물리적 측면 : 데이터 전송 매체, 신호 규약, 회선 규격 등 이더넷이 널리 쓰입니다.
논리적 측면 : 장치 간에 통신하기 위한 프로토콜 규격이며 TCP/IP가 널리 쓰입니다.
프로토콜은 한정된 자원으로 통신을 원활히 수행하기 위해 최대한 적은 데이터를 이용하여
효율적이게 내용을 전달해야 했으므로 2진수 비트 기반으로 만들어진 것이 많습니다.
⚡프로토콜 스택? 이 뭐에요?
TCP/IP와 같이 별도 계층에서 동작하는 프로토콜이지만 함께 사용하는
이런 프로토콜 묶음을 프로토콜 스택이라고 부릅니다.
⚡OSI 7 계층에 대해 말해주세요
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다.
7. 애플리케이션 계층 |
6. 프레젠테이션 계층 / 표현 계층 |
5. 세션 계층 |
4. 트랜스 포트 계층 / 전송 계층 |
3. 네트워크 계층 |
2. 데이터 링크 계층 |
1. 피지컬 계층 / 물리 계층 |
OSI 7 계층은 크게 두가지로 나눠 볼 수있습니다.
1~4 계층 : 데이터 플로우 계층 / 하위 계층
5~7 계층 : 애플리케이션 계층 / 상위 계층
⚡TCP / IP 모델
TCP / IP 모델은 OSI 7 계층과 달리 4계층으로 계층을 구분합니다.
OSI 7계층에서 상위 3개 계층을 하나로 묶고 1,2계층을 하나로 묶어줍니다.
7. 애플리케이션 계층 | 4. 애플리케이션 계층 |
6. 프레젠테이션 계층 / 표현 계층 | |
5. 세션 계층 | |
4. 트랜스 포트 계층 / 전송 계층 | 3. 트랜스 포트 계층 |
3. 네트워크 계층 | 2. 인터넷 |
2. 데이터 링크 계층 | 1.네트워크액세스 |
1. 피지컬 계층 / 물리 계층 |
⚡OSI 7 계층을 계층별로 설명해주세요
애플리케이션 계층 | 애플리케이션 계층은 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행합니다. UI 부분이나 사용자 입출력 부분을 정의하는 역할을 합니다. 대표적인 프로토콜로는 FTP, SMTP, HTTP, TELNET이 있습니다. |
프레젠테이션 계층 | 프레젠테이션 계층은 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기위해 하나의 통일된 구문 형식으로 변환하는 변환기의 역할을 수행합니다. MIME 인코딩, 암호화 , 압축, 코드 변환 등의 동작이 이 계층에서 이루어집니다. |
세션 계층 | 세션 계층은 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하며 작업 완료 후에는 연결을 끊는 역할을 수행합니다. 또한 에러로 중단된 통신에 대한 에러 복구와 재전송을 수행합니다. |
트랜스포트 계층 | 1,2,3 계층이 신호와 데이터를 올바른 위치로 보내는 것에 집중하는 데 반해 트랜스 포트 계층에서는 1,2,3계층에서 보낸 데이터들이 정상적으로 잘 보내지는지를 확인하는 역할을 수행합니다. 패킷 네트워크는 데이터를 분할해서 패킷에 실어보내다보니 중간에 패킷의 유실 / 순서 바뀜 등의 문제가 발생할 수 있습니다. 이를 바로잡아주는 역할을 4계층에서 한다고 볼 수 있습니다. |
네트워크 계층 | 네트워크 계층에서는 IP 주소와 같은 논리적인 주소가 정의됩니다. 데이터 통신을 할 때 사용하는 주소 두가지 1. 2계층의 물리적인 MAC 주소 2. 3계층의 논리적인 IP 주소 네트워크 계층에서 동작하는 장비로는 라우터가 있습니다. |
데이터 링크 계층 | 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리합니다. 주로 주소 정보를 정의하고 통신이 되도록 하는데 집중합니다. 주소 체계가 생기기 때문에 여러 통신이 한꺼번에 이루어지는 것을 구분하기 위한 기능 혹은 데이터에 대한 에러를 탐지, fix 하는 역할을 수행할수 있습니다. 이더넷 기반에서 2계층은 에러탐지역할만 수행합니다. ** Flow Control? (흐름제어) ** Mac 주소 체계 존재 |
피지컬 계층 | 물리적 연결과 관련된 정보를 정의합니다. 허브,리피터,케이블,커넥터,트랜시버,탭 등이 포함됩니다. **1계층 장비에는 주소개념이 없어요! 전기 신호가 들어온 포트를 제외한 모든 포트에 같은 전기 신호를 전송합니다. |
⚡Flow Control이 뭐에요? (2계층)
호스트와 호스트 간의 데이터 처리를 효율적으로 하기 위한 기법입니다.
"데이터를 수신하는 노드가 전송하는 노드에게 현재 자신의 상태에 대한 정보를 보내주는 것"
이라고 정의되어 있습니다.
Flow Control은 receiver가 packet을 지나치게 많이 받지 않도록 조절하는 것
잘모르는 단어가 나오니 어렵게 쓰인것 같기도 하지만 간단한 개념입니다.
데이터는 보내는 측과 받는 측 두 입장이 있을 것입니다.
보내는 측이 받는 측에게 packet을 보냅니다. 받는 측은 packet을 받아서 처리합니다.
1. 받는측의 처리 속도가 보내는 측이 패킷을 보내는 속도보다 빠른 경우
-> 받는 측의 자원이 낭비되겠지만 큰 문제는 없습니다.
2. 받는 측의 처리 속도가 느린 경우
-> 아직 처리하지 못했지만 받은 패킷을 큐에 집어넣고 순차적으로 처리합니다.
그런데 저장공간을 초과할 정도로 패킷이 계속 들어오게되면
초과된 만큼의 데이터는 손실되어 버릴것입니다.
2번째 문제점을 해결하기 위해 받는 측은 보내는 측에게
자신의 상태에 대한 정보를 보내주며 보내는 측이 적절히 속도를 조절할 수 있도록 하며
이것을 Flow Control(흐름제어)라고 부릅니다.
⚡2계층에서의 흐름제어 (flow control)
1. 서버측에서 스위치로 데이터를 전송합니다.
2. 스위치 혼잡 상황 발생 시 서버측으로 퍼즈 프레임을 전송합니다.
3. 퍼즈 프레임을 수신한 서버는 대기합니다.
**스위치?
네트워크 스위치는 컴퓨터와 같은 2개 이상의 IT 디바이스가 서로 통신하도록 허용하는 장비입니다
⚡네트워크 인터페이스 카드의 동작 방식
네트워크 인터페이스 카드는 PC나 서버에서 네트워크를 연결해주는 카드 혹은 인터페이스를 지칭합니다.
NIC , 네트워크 카드 , 랜카드, 물리 네트워크 인터페이스, 이더넷카드, 네트워크 어댑터
등등으로 불리기도 합니다.
1. 전기 신호를 데이터 형태로 만든다.
2. 목적지 MAC 주소와 출발지 MAC 주소를 확인한다.
3. 네트워크 인터페이스 카드의 MAC 주소를 확인한다
4. 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고있는 MAC 주소가 맞으면
데이터를 처리하고 다르면 데이터를 폐기합니다.
**즉 네트워크 인터페이스 카드는 고유 MAC 주소가 있습니다.
⚡라우터가 뭔가요?
라우터는 3계층에서 동작하는 장비로 IP 주소를 사용하여 최적의 경로를 찾아주고
해당 경로로 패킷을 전송하는 역할을 수행하는 장비입니다.
⚡그럼 스위치와 라우터의 차이점은 뭔가요?
스위치 | 라우터 | |
구매목적 | 서버,PC 등 많은 디바이스와 연결하기 위해서 | 다양한 네트워크를 동시에 연결하는 것 |
도메인 구분 | 브로드 캐스트 도메인 구분 불가 | 브로드 캐스트 도메인 구분 가능 (서로 다른 네트워크 대역을 구분함) |
계층 | 2계층에서 MAC 주소를 기반으로 동작 | 3계층에서 IP주소를 기반으로 동작 |
목적지가 불명확한 데이터 처리 | 모든 포트로 데이터를 퍼뜨림 | 해당 데이터를 버림 |
⚡트랜스포트 계층에서 패킷의 유실,순서바뀜을 알 수 있는 이유는?
트랜스 포트 계층에서는 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하기 때문입니다.
그래서 패킷이 유실되면 재전송을 요청할 수 있고 순서가 바뀐것을 바로잡을 수 있습니다.
시퀀스 번호(Sequence Number)
패킷에 보내는 순서를 나타내줍니다.
ACK 번호 (Acknowledgement Number)
패킷을 받는 순서를 나타내줍니다.
포트 번호 (Port Number)
장치 내의 많은 애플리케이션을 구분할 수 있도록 상위 애플리 케이션을 구분해줍니다.
⚡인캡슐레이션과 디캡슐레이션
인캡슐레이션
애플리케이션 계층에서 데이터플로 (1 ~ 4계층) 으로 내려보내면서
패킷에 데이터를 넣을 수 있도록 분할하는 과정을 인캡슐레이션이라고 부릅니다.
4계층부터 네트워크 전송을 위한 정보를 패킷 헤더에 추가하여 전송합니다.
추가하는 정보는 미리 정의된 비트단위(0 or 1)을 사용하며
4계층에서 3계층으로 헤더를 추가해서 내려보내면
3계층에서 2계층으로 2계층에 필요한 헤더정보를 추가하여 내려보냅니다.
2계층에서도 필요한 헤더 정보를 추가한 후 전기 신호로 변환해 수신자에게 전송합니다.
즉 데이터플로우 계층에서만 3개의 헤더정보가 추가됩니다.
트랜스포트 계층 | 4계층PDU(세그먼트) [4계층헤더 + 상위데이터] |
트랜스 포트 계층 |
네트워크 계층 | 3계층 PDU(패킷) [ 3계층헤더+ 상위데이터] |
네트워크 계층 |
데이터 링크 계층 | 2계층 PDU(Frame) [2계층헤더 + 상위데이터 + FCS] |
데이터 링크 계층 |
피지컬 계층 | 01001011010101 | 피지컬 계층 |
인캡슐레이션 ---- > 디캡슐레이션 |
상위 데이터는 상위 계층에서 추가된 데이터를 모두 포함합니다.
디캡슐레이션
데이터를 받는 측에서는 디캡슐레이션을 수행합니다.
1계층은 받은 전기신호를 데이터 형태로 만들어 2계층으로 올려보냅니다.
2계층은 송신자가 작성한 2계층 헤더에 포함된 정보를 확인 후 목적지가 자신이 아니라면 패킷을 버립니다.
3계층에서는 3계층의 헤더정보의 목적지를 확인하고 4계층으로 보냅니다.
4계층도 3계층과 같은 과정을 거쳐 데이터를 애플리케이션에 올려보내줍니다.
⚡헤더에 포함되어야 하는 정보는 뭐가 있나요?
1. 현재 계층에서 정의하는 정보
2. 상위 프로토콜 지시자
두가지 정보는 헤더에 반드시 포함되어야 합니다.
상위 프로토콜 지시자가 필요한 이유?
프로토콜 스택은 상위 계층으로 올라갈수록 종류가 많아집니다.
인캡슐레이션 과정에서는 상위 프로토콜이 많아도 상관없지만
디캡슐레이션하는 목적지 쪽에서는 헤더에 아무 정보가 없으면
어떤 상위 프로토콜로 올려보내주어야 할지 결정할 수 없습니다.
EX : 3계층에서 상위프로토콜 정보가 없다면 TCP로 보낼지 UDP로 보낼지 구분이 안됨
이런 문제를 해결하기 위해서 인캡슐레이션 하는 쪽에서 상위 프로토콜 지시자 정보를 포함해야합니다.
각 계층마다 상위 프로토콜 지시자를 가지고 있으며
2계층 : 이더타입
3계층 : 프로토콜 번호
4계층 : 포트번호 라고 부릅니다.
⚡ MSS & MTU (데이터 크기 조절)
MTU와 MSS는 모두 데이터 크기를 지칭하는 것입니다.
MTU(Maximum Transmission Unit)은
네트워크에서 한번에 보낼 수 있는 데이터 크기를 말합니다.
일반적인 이더넷에서 수용할 수 있는 크기는 1,500 바이트입니다.
MTU값은 2계층에서 가질 수 있는 최대 데이터 값입니다.
MSS(Maximum Segment Size)는
4계층에서 가질 수 있는 최대 데이터 값을 말합니다.
MSS 값은 일반적으로 1,460바이트로 사용합니다.
왜 그런걸까요?
네트워크에서 한번에 보낼 수 있는 데이터 크기는 주로 1500바이트입니다.
이중 3계층 헤더(IP 헤더)에 20 바이트를 사용해야하고
4계층 헤더(TCP 헤더)에 20바이트를 사용해야하기 때문입니다.
1500 - 20 - 20 = 1460
참고
https://www.juniper.net/kr/ko/research-topics/what-is-a-network-switch.html
반응형
'Network > 간단 정리 시리즈' 카테고리의 다른 글
(2) 네트워크의 구분 (0) | 2023.01.16 |
---|