转自http://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=27043

iooops 

胖友们楼主我又来发帖了……(最近无时不刻感受到身上穷得叮当响而且还感觉什么都不会当然这是不相干的内容哎)

今天晚上楼主刚学了一下TCP/IP协议。特来分享。

TCP/IP一般有4 Layers.

1. Application Layer
包括有HTTP(Hypertext Transfer Protocol), FTP(File Transfer Protocol),
SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management
Protocol)等协议传输数据到Transport Layer。

2. Transport Layer
通常就是TCP和UDP了。
TCP可靠,会完整地传输数据,不会损失一分一毫。就是把数据分割成一个个小包,每次确保送到,发现没送到就重送。
UDP不可靠,有可能会丢包。

3. Network Layer
最常见的就是IP(Internet Protocol)了,负责在网络上传输数据的一层。

4. Data Link Layer
会涉及到device drivers in the OS and the network interface card attached to the system。
貌似和OS相关。楼主懵逼躺枪。

但楼主大概明白,从我们在浏览器里输入某个IP地址,到我们得到网页的内容,之间发生了什么。

就是这个样子的:

箭头正着来一遍。

再反着来一遍。

再来科普一下Socket是啥 = =。

所谓Socket,就是串口(Port)+对应的IP地址。
Client的(Port+IP) + Server的(Port+IP)组成一个four tuple, 就成了一个connection。

原文如下:

On a particular machine, a port number
coupled with the IP address of the machine is known as a socket. A
combination of IP and port on both client and server is known as four
tuple. This four tuple uniquely identifies a connection. In this section
we will discuss how port numbers are chosen.

嗯楼主大概梳理了一下。嗯感觉清晰多了。
(虽然貌似很多技术细节还是一脸懵逼。 = =。)

扩展阅读:
http://www.thegeekstuff.com/2011/11/tcp-ip-fundamentals
http://www.csd.uoc.gr/~hy556/material/tutorials/cs556-3rd-tutorial.pdf
https://www.saylor.org/site/wp-content/uploads/2012/02/Computer-Networking-Principles-Bonaventure-1-30-31-OTC1.pdf

最新文章

  1. js数组操作大全
  2. 玩转Unity资源,对象和序列化(上)
  3. Perplexity Vs Cross-entropy
  4. Linux内存管理原理
  5. pandas 时间序列resample
  6. tableviewcell的这贴状态和传值总结
  7. RxJava 复杂场景 Schedulers调度
  8. deque用法 和与vector的区别
  9. Token注解防止表单的重复提交
  10. java如何获取本机IP
  11. 关于php存储cookie时path存放路径放的详细介绍
  12. Visual Studio 2017 IDE之xml过大报错
  13. maya2019卸载/安装失败/如何彻底卸载清除干净maya2019注册表和文件的方法
  14. Redis 内存模型
  15. Flutter开发中的几个常用函数
  16. 启动spark集群
  17. C#.NET常见问题(FAQ)-如何不显示窗口的关闭按钮
  18. MyBatis 支持的扩展点(version:3.2.7)
  19. UPUPW本地环境配置thinkphp5的问题
  20. Fragment 源码解析add()和replace()方法

热门文章

  1. nginx常用模块(一)
  2. 886A. ACM ICPC#均值分配问题(暴力)
  3. 爬虫加入数据post请求
  4. ansible批量部署模块(二)
  5. python解一元一次方程
  6. 【转】Linux虚拟终端命令Screen用法详解
  7. vue axios从服务器加载图片并显示
  8. vue2.0+mintui+hbuilder 打包移动端app之后出现空白页面的解决方案
  9. 2019-2020-1 20199324《Linux内核原理与分析》第一周作业
  10. 创建可执行jar包