前言

本人记性不佳,看书健忘,以此笔记来记录看书后自己所知所想,已达到加深对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. 如何解决border的重叠问题

    我现在在做一个ul列表,然后给每个li加上边框,但是加完了之后,相邻列表的边框就会变成2px,比如第一个li的下边框和第二个li的上边框就会重叠在一起,请问这有什么办法解决一下么? 解决方法是: 试试 ...

  2. Django 中CSRF中间件 'django.middleware.csrf.CsrfViewMiddleware',

    1.Django中CSRF中间件的工作原理及form表单提交需要添加{% csrf_token %}防止出现403错误 CSRF # 表示django全局发送post请求均需要字符串验证功能:防止跨站 ...

  3. Leetcode 462.最少移动次数使数组元素相等

    最少移动次数使数组元素相等 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输入: [1,2, ...

  4. sysctl内核参数解析

    sysctl内核参数解析 kernel.参数 kernel.shmall = 2097152    ## 1> 表示所有内存大小.可以分配的所有共享内存段的总和最大值.(以页为单位) ## 2& ...

  5. 正则表达式与python中re模块

    一个网站,正则表达式入门的,很好 http://www.jb51.net/tools/zhengze.html 下面这个包含对python中re的介绍,也是很不错的http://www.w3cscho ...

  6. Pebbles(hdu 2167)

    题意:给定一个N*N的方格,让你在里面取出一些数使其和最大,要求每一个数不能与其相邻的8个数同时取出. /* 和hdu1565差不多,只不过在更新的时候考虑斜上方的格子对该格子的影响. */ #inc ...

  7. bzoj 3208 花神的秒题计划I

    bzoj 3208 花神的秒题计划I Description 背景[backboard]: Memphis等一群蒟蒻出题中,花神凑过来秒题-- 描述[discribe]: 花花山峰峦起伏,峰顶常年被雪 ...

  8. 3 月 15 个有意思的 JavaScript 和 CSS 库

    Tutorialzine 旨在让你了解最新最酷的 Web 发展趋势.这就是我们每个月为何都会发布一些我们偶然发现并认为值得你关注的优秀资源的原因. BasicScroll https://github ...

  9. linux sleep函数

    应用程序: #include usleep(n) //n微秒 Sleep(n)//n毫秒 sleep(n)//n秒 驱动程序: #include mdelay(n) //milliseconds 其实 ...

  10. Python入门--16--模块

    模块的定义: 模块是一个包含所有你定义的函数和变量的文件,其后缀是.py.模块可以被别的程序引入,以使用该模块中的函数等功能 比如 import random secret=random.randin ...