프로토콜

미국에 있는 친구한테 1000불 넣어서 보낼거야. 중요한 메세지죠. 잃어버리면 안되죠. 그냥 안집어넣겠죠. 그럼 개런티가 되는 것들 등기나 뭐 추적이 되는걸 이용하죠. 100원짜리 우표 붙여서 하지 않고 스페셜한 서비스를 사용하기 위해서는 돈을 더 내야되죠? 돈 더내는 대신? 무슨 일이 있어도 도착을 하고 추적도 가능해져요. 그런데 반대로 광고 전단지 같은 거는 어때요? 넣었어. 이건 잃어버려도 되잖아. 그럼 비싼 돈 내서 할 필요 없겠죠? 그럼 싼걸로 보내는 거예요.

이때 비싼 서비스가 TCP, 싼게 UDP라고 볼 수 있어요. 그럼 비싸다, 싸다의 의미는 뭐겠어요? 시스템 내부에서 어떤 동작이 많이 일어난다거나 메모리나 이런 리소스를 많이 사용한다 이런거죠.

TCP와 UDP 구분이 되어 있는데 웬만하면 TCP를 이용한다고 보면 돼요. HTTP, HTTPS 이런 것들 다~ UDP 패킷 유실, Voice of IP라든지 몇 개 있어도 상관없는 것들~ DNS도 UDP를 사용하는데 이건 다음 시간에 생각해 봅시다.

실제로 네트워크 안으로 들어가서 보게 되면 결국 네트워크, 인터넷을 동작시키는 건 프로토콜이라는 거죠. 자, 보세요. FTP, SMTP, HTTP 많은데 P가 다 프로토콜이에요.

각각 다른 개체들이 의사소통하게 만들어주는 규약인데요. 이런 용어를 처음 접했을 때는 이게 뭔가 느낌이 확 안 올 텐데, 이렇게 생각하면 돼요. 그냥 세상에 존재하는 서로 다른 개체가 뭔가 교감, 의사소통을 하기 위해서는 일정한 룰이 존재한다고요. 예를 들면 저랑 이정훈 학생이랑 어떤 메시지를 의사소통하기 위해서는 몇 가지 공통된 룰을 가지고 있어야 돼요. 우선 한국어로 이야기해야 되고, 내가 말할 때는 이 친구는 들어야 되고, 이런 룰이 있어야겠죠. 우리가 잘 아는 룰이 뭐가 있어요? 전화를 받으면 항상 전화 잘 받았다는 의미로?

ex. 여보세요~

라고 하는 게 있죠.

라우팅

네트워크 안에는 라우터란 장비들이 존재해서 사용자한테 쭉쭉쭉 전달해 주는 역할을 해요.

그럼 어떤 식으로 어떻게?! 전달하냐?

최초의 인터넷을 설계한 사람들이 결정을 하기를 circuit switching과 packet switching 간에 선택을 해야 했어. 결국 후자를 선택.

서킷은 출발 지점부터 목적 지점까지 밴드위드를 예약해 놔서 하는 거야. 예를 들면, 대통령은 어디 간다 그러면 신호등 다 조작해서 거기 가는 길 다 예약해 놔서 가는 거지. 옛날에 유선전화 같은 게 이런 거였어. 그러니까 다른 사람이랑 전화하고 있으면 못 쓰잖아.

패킷은 다른 사람들이랑 섞여서 멀티플렉싱이 되는 구조로 전달이 돼요. 보내고자 하는 메시지가 패킷이라는 단위로 잘게 쪼개져서 다른 사람들이랑 사용하는 패킷이 서로 고르게 섞여서 전달이 되게 돼요. 패킷 단위로 이렇게 분리가 돼서 전달이 되기 때문에

왜 이거 선택했나? 인터넷 사용 패턴이 패킷 스위칭에 더 적합하기 때문이었어요~ 유선전화는 전화 통화할 때는 잘 맞는데, 반면에 인터넷 사용 패턴에는 패킷이 잘 맞아.

예약했는데 사용하고 있지 않으면 좋지 않잖아. 예약했으면 항상 사용하고 있어야지. 둘 다 조용하고 있으면 전화 통화할 일 없죠. 예약한 회선을 언제든 사용하고 있어야 돼. 연속적으로 누군가 하나는 말하고 있잖아. 웹 브라우징은 한 번 통신해서 요청해서 받아오잖아. 한 번 사용하고 한참 동안 정보를 받아들여야 되잖아. 예약해 놓으면 나한테도 손해고 다른 사람한테는 피해가 가지. 멀티플렉싱하는 게 훨씬 좋겠죠?

패킷 vs 서킷

→ 사용자들은 하나의 라우터를 공유해서 인터넷에 접근을 해요. 인터넷으로 연결되는 이 케이블의 밴드위스 === 대역폭. 초당 얼마만큼의 데이터를 보낼 수 있냐. 그래서 Mbps. 초당 1MB다, 1Mbps죠.