키워드
- OSI의 정의
- 하위 계층 / 상위계층
- OSI 7계층의 장점
- Application Layer = 응용계층 - Application이란? 입력/ 가공
- 표현계층 = 어떤 언어로 작성할지 / encoding / 암호화 / 압축
- 세션계층 = 어떤 방식으로 데이터를 전송할지 - 논리적인 통신 회선
- 트랜젝션계층 (전송계층) = 포트 번호 / TCP/UDP
- 네트워크계층 = IP 주소 - IP 약자 - 논리적인 주소
- 데이터링크계층 = Mac 주소 - MAC 약자
- 물리계층 = 디지털 신호 → 전기 신호
- Encapsulation
- TCP/IP 4계층 → 5계층
Open Systems Interconnection
개방형 시스템 상호 연결이라는 뜻으로 ( 열려있는 시스템, 설계나 동작 원리가 오픈되어 있고, 보편적으로 인정 받거나 표준화된 시스템을 상호 연결하는것을 의미합니다. )즉, 컴퓨터간의 데이터를 주고 받기 위해 필요한 정보를 7단계로 정의한 것입니다.
ISO에서 컴퓨터들 간의 데이터 전송을 원활하게 하기 위해서 제정했습니다. 즉, 네트워크를 구상할 때는 이를 참조해서 만들어야 합니다. (== OSI 7계층 참조모델 == 참조할 뿐 꼭 따르지 않아도 좋지만, 다르게 만들 경우 일반 네트워크와 통신을 보장할 수 없음)
하위 계층인 1,2,3계층과 상위 계층인 4,5,6,7 계층으로 나뉩니다. OSI의 장점은 통신이 일어나는 과정을 단계별로 파악할 수 있어, 문제가 발생하면 해당 문제를 해결하기에 용이해지기 때문입니다.
편지를 쓴다고 가정해봅시다. 우리는 편지지에 볼펜을 이용해서 편지를 씁니다. 우리가 전달하고자 하는 글은 편지지에 써있습니다. 사용자가 원하고자 하는 데이터를 요청할 때 사용되는 플랫폼, 즉 Application이라고 할 수 있습니다. 편지지에 편지를 썼는데, 이 내용을 바로 OSI 7 레이어 중에서 Application 계층 즉, 7계층이라고 부를 수 있겠습니다. 사용자가 특정 application을 이용해서 데이터를 입력을 하고 가공합니다.
표현계층입니다. 바로 6계층인데요, 말 그대로 표현하는 계층입니다. 여기서는 데이터를 표현하는 방법인 encoing과 암호화, 압축등으로 구성되어 있습니다.
편지지에 one, two, three, four라고 영어로 작성했습니다. 그리고 사진도 동봉을 했습니다. 하지만, 받는 사람이 이것을 사진이 아닌 동영상으로 영어가 아닌 중국어로 해석한다면 의미가 달라지게 됩니다.
또한, 편지를 암호화 해서 보냈는데, 받는 쪽에서 암호화되어 있는지 모르고 그냥 읽어버리면 의미가 달라지게 됩니다. 서로 다른 시스템이 통신을 하는데, 수신측에서도 문제없이 데이터를 받아야하기 때문에 보내는 측에서 **공통된 표준 형식에 맞춰 데이터를 보내는 것입니다.** 그래야 상대방 컴퓨터에서 상황에 맞는 언어로 확인할 수 있기 때문입니다.
5계층인 session 계층입니다. 이 곳은 어떤 방식으로 데이터를 보낼지 결정하는 계층이라고 할 수 있습니다. 예를들어 전화처럼 쌍방으로 동시에 주고받을지, 무전기처럼 한쪽씩 번갈아가면서 주고 받을지, 아니면 일방적으로 받기만 할지와 같은 논리적인 통신 회선을 만들게 됩니다. 이런 회선에 대한 생성, 유지, 종료의 관리를 담당하고 있습니다.
전송 계층인 4계층입니다. 굉장히 중요한 부분을 담당하고 있습니다. 편지를 써서 상대방에게 보내고자 하는데, 이걸 누가 보내는지, 누가 받는지에 대해 알아야합니다. 그래야 받는 사람도 누가 보냈고, 어떤 내용인지를 알 수 있기 때문입니다. 여기에 꼬리표를 달아주는데 이게 바로 포트 번호입니다. 예를 들어 보내는 쪽에서 9999라는 번호를 달아서 보냈다고 생각해보면, 443이라는 번호를 붙여 어디로 보낼지를 정해줍니다. 이게 통신에서는 9999은 보내는 쪽의 Application이 되는 것이고, 443번은 받는 쪽의 Application이 되는 것 입니다.
수신측과 송신측의 port 번호를 붙여서 Application을 명시해야합니다.
전송 계층에서는 받을 대상을 명시해야합니다. 이 부분 외에도 TCP와 UDP에 대해 정의 합니다.
데이터를 보내는 쪽에서 수신측이 온전한 데이터를 받을 수 있게 해야 하는 책임을 질것인지, 아니면 책임지지 않을 것인지에 대한 이야기입니다. 중요한 데이터인데 수신측에서 온전하게 받지 못했다면, 보낸 사람에게 다시 보내달라고 하는 방식을 TCP, 수신측의 수신 여부와 관계없이, 보낸 측에서는 책임이 없다는 방식은 UDP 입니다. 일반 우편과 등기 우편으로 예를 들 수 있습니다.
사진과 글을 편지로 보낼 때, 받는 사람을 알겠는데 이 받는 사람이 어디에 사는지도 알아야합니다. 이 주소를 알아내는 것을 3계층인 네트워크 계층에서 진행하게 됩니다. 주소를 알아야 한다는 이야기는 편지가 어느 경로를 통해서 움직여야하는지에 대해 담고 있습니다. 이 편지가 목적지로 가려면 어느 동네를 거쳐야 하는지가 대충 보이게 되는 것입니다.
즉, 3계층에서는 경로 설정과 도착지 주소를 표현합니다. 그 도착지 주소가 바로 IP입니다. (Internet Protocol) 즉, 논리적인 주소를 의미합니다.
여기까지 우리는 편지에 상대방의 이름을 써서 상대방이 사는 건물로 보냈습니다. 하지만, 몇 동 몇호인지는 알 수 없습니다. 어느 우편함에 넣어야하는지에 대한 내용을 2계층인 데이터 링크 레이어에서 담고있습니다. 2계층에서 중요한 부분은 MAC이라고 할 수 있습니다. Media Access Control의 약자로 매체 접근 제어입니다. 올바른 호수를 찾아야하고, 그것을 알려주는 것이 바로 MAC주소입니다. 실제로 2계층은 충돌방지 시스템등 많은 정보를 담고 있습니다.
1계층은 디지털 신호를 전기 신호로 전송하는 영역입니다.
회선은 어떤 회선을 사용할지, 부호화는 어떤 식으로, 전기 신호는 어떤 방식으로 할지에 대한 내용, 동기식과 비동기식에 대한 내용들을 담고 있습니다.
각각의 데이터를 합치는 과정을 Encapsulation이라고 부릅니다.
수신측에서 이 편지를 열어보기까지의 과정을 Decapsulation이라고 부릅니다.
실제 통신은 7가지 단계로 이뤄지지 않고 TCP/IP Prococol Suite이라고 하는 네트워크 시스템에 대한 모델을 사용하고 있습니다. 현대 인터넷이 TCP/IP 모델을 따르는 이유는 OSI모델이 TCP/IP 모델과의 시장 점유 싸움에서 졌기 때문입니다. 1,2,3,4계층은 기존의 OSI 계층과 동일하고 OSI 의 5,6,7계층이 하나의 apllication Layer로 변경되었습니다.
곁들이면 좋은 글
참고 영상
'📓 Study > Tech Interview' 카테고리의 다른 글
TCP 3, 4 way handshake에 대해서 설명해주세요 (0) | 2021.06.29 |
---|---|
GC가 무엇인지, 필요한 이유는 무엇인지, 동작방식에 대해 설명해주세요. (0) | 2021.06.28 |
JVM의 구조와 Java의 실행방식을 설명해주세요. (0) | 2021.06.23 |
웹 통신의 큰 흐름 : https://www.google.com/을 접속할 때 일어나는 일 (0) | 2021.06.20 |
친구에게 배우는 기술 면접 | 근데 이제 친구가 초보인.. (2) | 2021.06.20 |
댓글