前言

本人记性不佳,看书健忘,以此笔记来记录看书后自己所知所想,已达到加深对tcp ip的理解。本笔记不过我看完书后自己所写的总结,权当是书后复习。

一.为什么会有tcp ip协议

       我们知道中国有56个民族。各个民族有各自的语言,语言就形成了各个民族的障碍。大家都说自己的语言,谁也听不懂对方在讲什么,语言是各个民族之间那道鸿沟,谁也跨只是,照成每一个民族都是一个小团体,民族之间不能协同合作成为一个大团体。

普通话就攻克了这个问题,在民族之间那道鸿沟上建立了一道桥梁,让民族之间能够交流,避免了不必要的冲突。

tcp ip协议亦如此,计算机系统、硬件千差万别,要想让每台计算机互联互通,就得各个计算机共用一套同样的通信协议,tcp ip就起到了这个作用。让每台计算机互联起来,相互都能通信。组成一张大网“互联网”

二.tcp ip分层

        tcp ip协议分为四层,每一层负责不同的通信功能。

数据链路层:指网络接口与驱动

网络层:网络传输中的信息。处理分组在网络传输中的活动,如ip协议。

ip协议是不可靠的,它不会确认报文是否传输成功,这一步操作须要上层的tcp协议来处理

传输层: 负责网络的传输,主要分为tcp和udp,udp是不可靠的,它仅仅负责把传输数据到目的网络设备,不会确认其是否被目的网络设备成功获取,报文的确认接受等操作须要应用层来处理。

而tcp是安全的,它包含确认接受与发送、超时重传等相关确认报文传输成功的操作。

应用层:应用程序,如http协议

在互联网中,我们能够把整个系统划分为端系统和中间系统:

端系统:互联网中两台主机既是端系统。应用层与传输层是应用于端系统中的端到端协议。仅仅有端系统才使用到应用层和传输层。

中间系统:中间的路由器。

网络层提供的是应用于中间系统的逐跳协议,端系统和中间系统都会使用到网络层。

三.互联网地址

每台主机都有一个ip地址标识它。甚至一台主机能够有多个ip。ip地址能够分为5类:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

四.域名系统

訪问互联网中的主机,我们能够通过主机的ip訪问,也能够通过主机域名来訪问。ip与主机域名是相应的

五.封装

两台主机之间进行通信,数据得经过协议栈的封装然后传输给目的主机:

1.应用程序组装好数据格式,然后发给内核协议栈。tcpip四层中也仅仅有应用层是在进程中运行的。其它三层都是在内核协议栈

2.协议栈收到应用层数据,对其加入tcp或udp头,tcp、udp头有个16位port号来表示应用层协议。

3.封装ip头,加入传输信息,ip头用8bit来表示上层是什么协议

4.封装以太网头,加入网络借口信息,用16bit来表示上层是什么协议

六.分用

当主机收到报文时,是由底向上解析报文,然后把应用层信息交给用户进程。

server一般分为并发server和反复server:

并发server:server仅仅要接到一个client请求便启动一个进程来处理。处理完后结束该进程。能够同一时候响应多个client的请求

反复server:server接到client请求立刻处理。可是在处理过程中。其它client的请求堵塞,仅仅要当前处理完成,才干响应下一个client

tcp ip协议笔记(1)——简单介绍的更多相关文章

  1. 【Linux网络基础】TCP/IP协议簇的详细介绍(三次握手四次断开,11种状态)

    一.TCP/IP协议簇(DoD参考模型) 用于简化OSI层次,以及相关的标准. 传输控制协议(tcp/ip)簇是相关国防部DoD所创建的,主要用来确保数据的完整性以及在毁灭性战争中维持通信 是由一组不 ...

  2. OSI协议和TCP/IP协议笔记

    1.OSI协议: 第7层应用层:OSI中的最高层.是用户与网络的接口.该层通过应用程序来完成网络用户的应用需求,如文件传输.收发电子邮件等.在此常见的协议有:HTTP,HTTPS,FTP,TELNET ...

  3. TCP/IP协议 (图解+秒懂+史上最全)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  4. TCP/IP协议网络编程以及UDP和TCP之传输协议

    1.什么是TCP/IP协议? 网络编程协议有很多,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal 传输控制协议/英特网 ...

  5. Python Web学习笔记之TCP/IP协议原理与介绍

    HTTP.FTP.SMTP.Telnet等等协议,哦!那个HTTP协议啊就是访问网页用的那个协议啊然后那个······其实······你懂得,我们应该从实际来了解他,理解网络协议的作用与功能,然后再从 ...

  6. TCP/IP协议简单介绍

    TCP/IP协议族总共分为四层,分别为:          应用层:应用层协议有Telnet(远程登入协议).FTP(文件传输协议).SMTP(简单邮件传送协议).SNMP(简单网络管理协议).HTT ...

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

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

  8. TCP/IP 协议介绍

    转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...

  9. TCP/IP协议学习笔记

    计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 TCP/IP详解学习笔记(2)-- 数据链 ...

随机推荐

  1. python 学习分享-字典篇

    python字典(Dictionary) dict是无序的 key必须是唯一切不可变的 a={'key1':'value1','key2':'value2'} 字典的增删改查 a['key3']='v ...

  2. 如何用jquery+json来写页面

    以下是json数据表: [ { "p" : "银川市", "c" : [{"c1":"兴庆区"},{ ...

  3. [python工具][3]sublime常用配置 与操作指南

    https://github.com/jikeytang/sublime-text http://zh.lucida.me/blog/sublime-text-complete-guide/

  4. 紫书第一章训练1 D -Message Decoding

    Some message encoding schemes require that an encoded message be sent in two parts. The first part, c ...

  5. js多少时间之前

    <?php $time = time()*1000; $end_time = strtotime("2018-01-01")*1000; $time_ago = $time ...

  6. django无法同步数据库 Error loading MySQLdb module: No module named ‘MySQLdb‘

    最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到“被解放的姜戈”时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python ...

  7. Censoring(bzoj 3940)

    Description Farmer John has purchased a subscription to Good Hooveskeeping magazine for his cows, so ...

  8. 洛谷 [P3008] 道路与航线

    最短路 因为有负权边,所以不能 dijkstra ,本题数据还卡 SPFA 但是我们发现,有负权的都是有向边,而且如果把无向边连成的联通块看成一个点的话,有向边就连成了一个 DAG,所以我们可以对所有 ...

  9. 远征(expedition)

    [题目描述] 寒枫将军将要带领他的部队去圣雪山消灭那里的冰龙. 部队分成了若干个小队,属于同一个小队的人兵种相同.寒枫将军有着杰出的指挥能力,在战斗的时候,寒枫将军能够让所有相同兵种的人互相配合,使t ...

  10. touch下拉刷新

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...