与TCP/IP协议的初次见面(一)

前言

今下午刚才女朋友那边回来,唉,算是情人节去找她吧,穷屌丝住不起好酒店,住的打折酒店,只是女朋友来姨妈了,万幸啊,牙还疼得不行,这几天光照应她了,没空写博客了.回来快补上!

由于一直想看TCP/IP的知识,由于感觉网络知识方面的内容一直是我的软肋,事实上啥都是我的软肋,穷屌丝一枚,啥都不会.慢慢努力!

TCP/IP是什么

要讨论TCP/IP,就必须知道他到底是什么东西.这是開始逐渐深入一个东西的前提,TCP/IP也不例外.

那么TCP/IP究竟是什么?

用自己的话说,tcp/ip就是一套规则.两个计算机要相互通信,就得有规矩,一个很普遍的样例就是发信件.想象一下,假设信件上面的地址和右边等信息是随便写的,那么目的地的邮递员收到信件时,一定会一头雾水,不知道要发到哪里.相同的,假设收件人”折磨”,而你写的是”额迈锐肯”,对方肯定是看不懂的,所以两方的语言也要想通.

计算机之间要通信,也须要规则,于是tcp/ip就出现了,/tcp/ip各自是两个协议,而tcp/ip一般泛指一个协议族.这个协议族一共包括四层,各自是链路层,网络层,传输层以及应用层.当中tcp是传输层的协议,ip则是网络层的协议.

之所以分层,原因就像mvc框架的作用一样,是为了让专业的人做专业的事.还记得设计模式其中的单一职责原则吗,这里事实上也正是这个原则的体现.每一层都仅仅做自己应该做的事情,而且把它做好,这样有利于扩展和维护.

四层简单介绍

链路层:这是最接近硬件的一层,也是俗称的”底层”.它主要指我们俗称的网卡和网卡驱动程序,网卡是硬件,驱动程序则负责控制网卡.链路层主要负责与传输介质(比方光纤)配合完毕实际的传输数据工作.你能够把它想象成快速公路上的收费章,每一条公路的入口和出口都有一个收费站,而这些收费站之间是有协议的,比方按路程收费.这些收费站就像网络接口一样,而公路则像光纤一样.

网络层:这一层凌驾于链路层以上,主要负责数据报在网络中的活动,比方该往哪走.这一层就像快速公路上的路标,路标决定了你每到一个路口应该怎么走.网络层恰恰就是做这件事,比方ip协议,事实上就是定制一套规则,让数据依照这套规则能够找到目的地.

传输层:这一层已经已经比較接近我等屌丝了,他负责应用程序之间的端到端的通信,这么说可能比較难理解.这个比較像物流中的一个场景,比方如今我在淄博,在上海买了一个女朋友,过程应该是这种.首先上海的卖家把我的女朋友交给快递小哥(或者公司),然后由他们交给向淄博出发的货运司机,接下来宝贝到达淄博后会被放到统一的发货处,终于再由快递小哥送到本人手中,这么描写叙述没错吧,明确吧?注意,在这个过程中,货车司机并不关心货物究竟送到谁手里,他仅仅管送到淄博,淄博的快递小哥也不关系这些宝贝哪里来的,他仅仅关心这些货物将要详细派送到谁手里,对吧.这和网络层与传输层关系类似,网络层仅仅管把数据报从一个计算机送到另外一个计算机,详细是哪个集成的数据,网络层能够无论,也不用管,这便是传输层负责的事了.这里端到端通信,事实上就是指port到port的通信.

应用层:这一层与我等屌丝已有肌肤之亲了.比方你天天用的http协议,他就是应用层的一个协议.http定义了各种协议头,是什么请求协议头,响应协议头,乱七八糟的.这些协议头都是干嘛的呢,既然是应用层,当然是给应用程序用的了.比方响应协议头中有文本格式这个头,他就定义了浏览器应该怎样展示webserver发回来的响应信息,比方xml,html还是什么其它的玩意.

四层小结

经过上面的解说,相信大家应该都理解了的tcp/ip的含义了吧.

链路层就是负责运输女朋友的那个司机,它是负责运输工作的(也就是实际数据传输的工作).网络层就是快速公路上的路标,负责指引司机在快速路上应该怎样走(也就是在网络上的活动),并让司机正确到达目的地.传输层就是快递小哥,负责在详细的发货人和收货人之间(也就是发送port和接收port)的接受.应用层就是女朋友的使用说明,这就是我等屌丝和卖家之间(也就是应用程序之间)的事了.

小小的结一下

总后总结一下,咱是有女朋友的,尽管不美丽,可是人家对咱挺好,挺好,咱也好好对人家.

与TCP/IP协议的初次见面(一)的更多相关文章

  1. 与TCP/IP协议的初次见面(一)

    引言 最近LZ有了一点时间,于是便拿出TCP/IP的书本开始啃.开始的时候,啃起来枯燥无味,现在好不容易有点开窍,于是赶忙记录一下,生怕自己一转眼就给忘了.不过计算机系统原理就有点可惜了,最近一直没时 ...

  2. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  3. OSI七层模型详解 TCP/IP协议

      总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...

  4. TCP/IP协议(二)tcp/ip基础知识

    今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...

  5. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

  6. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

  7. 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)

    1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...

  8. HTTP协议—— 简单认识TCP/IP协议

    大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...

  9. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...

随机推荐

  1. django 笔记17 ModelForm

    Model 数据库操作 验证 验证 Form -class LoginForm(Form): email = fields.EmailField() is_valid 每一个字段进行正则(字段内置正则 ...

  2. List methods

    Python provides methods that operate on lists. For example, append adds a new element to the end of ...

  3. sicily 1003. hash

    Description 请用HASH链式法来解决冲突,且规定链表在链表头插入新元素. 规定HASH函数为:h(x) = x % 11,即哈希数组下标为0-10. 给定两种操作: I 操作,插入一个新的 ...

  4. BZOJ 3223 Splay区间翻转

    思路: 区间翻转的裸题 终于tm理解splay了-- //By SiriusRen #include <cstdio> #include <cstring> #include ...

  5. Vuejs componet

    Vuejs  componet <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  6. df 显示 100%的问题

    问题:         使用 df 命令查看,某个分区使用率已经达到100%,但是用du 命令统计该分区,发现该分区空间剩余10G可用.         实例:                分析: ...

  7. nginx的Rewrite重写

        location /{                if ($remote_addr=192.168.1.100){                          //禁止此 ip 访问 ...

  8. js字符串排序方法

    前端开发过程中有时需自己手写排序方法 一般想到数字的字符串排序方法 我们会用到 var newArr = arr. sort(function(a,b){return a - b})来进行排序 但除此 ...

  9. Unity Launcher类,轻松打开网页,照片,app 等

    using UnityEngine; using UnityEngine.WSA; public class test : MonoBehaviour { void Start () { //打开百度 ...

  10. TCP 三次握手,四次挥手

    TCP 三次握手,四次挥手 1. TCP 三次握手 建立连接前,客户端和服务端需要通过握手来确认对方: 客户端发送 syn(同步序列编号) 请求,进入 syn_send 状态,等待确认 服务端接收并确 ...