java基础班  网络编程应该提过。大学学计算机或者是通信的对这些东西肯定比较熟一些。主机到网络层是跟硬件相关的一些协议了。上层协议得依赖下层的协议。也就是说它们得联合起来共同工作才能够把数据传输出去。应用层要调用传输层的也依赖传输层的,传输层要依赖网络互联层。网络互联层最终要把数据发出去还要依赖最下面的主机到网络层,最终才会把这个数据发出去。所以四层的结构咱们要搞清楚。

要知道HTTP、TCP、IP协议分别都处于哪一层。好了,这个四层的模型咱们要搞清楚。‘


8080代表当前这台主机运行的这么一个软件,它占用的是哪一个端口。端口是不会重复的,一旦有程序占用了8080这个端口,如果你tomcat是后起来的话,那这个时候它就启动不了了。这个端口被别人占用了。


在IP的基础之上有一个TCP/UDP协议。TCP:面向连接  UDP:面向无连接的。TCP:像送快递的,第一次握手给你打电话,你说送过来吧,然后就给你送过来了。

第一次就是发了一个数据包,其实这个数据包就是想把连接打开的,这三次握手其实就是把连接创建起来。三次握手之后连接才真正创建,这个时候才可以进行数据的传输。断开的时候TCP还有四次的挥手。

第一次挥手就是我现在马上要关闭了,发送一个断开连接的请求,然后服务端给它回一句,好了,你可以断了。在第一次和第二次挥手的时候还是有数据进行传输的。然后服务端就等一下,有一个CLOSE-WAIT.等一下服务端的数据彻底的传过去之后,又给客户端发一条消息我现在彻底断开了。客户端收到服务端的消息,就可以断开了。接下来客户端也不会给服务端传数据了。所以就一共是四次通信/四次挥手。

三次握手和四次挥手保证了TCP连接相对来讲是比较安全的。HTTP协议是在TCP协议基础之上的。所以HTTP协议相对来讲也是比较靠谱的。大部分情况下,网络没有问题的情况下,很少会出现数据丢失的情况。

UDP:面向无连接,邮局。往信箱一丢,至于这个信封有没有人收到它不管。

UDP就不一样了,它直接就发。比如咱们这个飞秋,飞秋实际上用的就是UDP,这个东西你只要在线就能收到。如果不在线这个消息一样可以发,但是发完了那个人不见得会收到。这个就是TCP和UDP的区别。

TCP是协议,socket是java搞的做TCP/IP开发的一套接口/API.ServerSocket这边等待客户端的连接,客户端new一个socket传一个IP,传一个端口,就可以跟我的服务端建立一个连接。这个就是咱们要搞清楚的一个socket和TCP/IP它们之间的关系。实际上TCP/IP这一套协议实际上它不包含socket,跟socket没啥关系,在java下你要做TCP/IP相关的开发你要用到的API就是socket套接字。

12_tcp_ip相关概念的更多相关文章

  1. IDDD 实现领域驱动设计-上下文映射图及其相关概念

    上一篇:<IDDD 实现领域驱动设计-理解限界上下文> 距离上一篇有几天时间了,<实现领域驱动设计>第三章的内容都是围绕一个词-上下文映射图,我大概断断续续看了几天,总共看了两 ...

  2. [原创]java WEB学习笔记105:Spring学习---AOP介绍,相关概念,使用AOP,利用 方法签名 编写 AspectJ 切入点表达式

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. C#并行编程-相关概念

    菜鸟初步学习,不对的地方请大神指教,参考<C#并行编程高级教程.pdf> 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 C# ...

  4. Java笔记1-Java相关概念和如何实现跨平台

    一.Java相关概念 1.Java语言的核心特点跨平台面向对象 2.Java的历史版本JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0 注意:JD ...

  5. Android开发学习总结——Android开发的一些相关概念

    一.什么是3G.4G 1995年问世的第一代模拟制式手机(1G)只能进行语音通话. 1996到1997年出现的第二代GSM.CDMA等数字制式手机(2G)便增加了接收数据的功能 Ÿ 3G指的是第三代移 ...

  6. JMS相关概念

    1.相关概念 1)JMS jms即Java消息服务(Java Message Service) 是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息 ...

  7. Scrum 的相关概念

    Scrum 的相关概念 4.1   Scrum 的起源 Scrum 是一种灵活的敏捷软件开发管理过程,这个名词来源于英式橄榄球.Scrum方法由Ken Schwaber和Jeff Sutherland ...

  8. linux设备驱动归纳总结(四):2.进程调度的相关概念【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-65555.html linux设备驱动归纳总结(四):2.进程调度的相关概念 xxxxxxxxxxxx ...

  9. linux设备驱动归纳总结(四):1.进程管理的相关概念【转】

    本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...

随机推荐

  1. 转 Python Selenium设计模式-POM

    前言 本文就python selenium自动化测试实践中所需要的POM设计模式进行分享,以便大家在实践中对POM的特点.应用场景和核心思想有一定的理解和掌握. 为什么要用POM 基于python s ...

  2. fping - send ICMP ECHO_REQUEST packets to network hosts

    NAME fping - send ICMP ECHO_REQUEST packets to network hosts SYNOPSIS fping [ options ] [ systems... ...

  3. how to run a continuous background task on OpenShift

    https://stackoverflow.com/questions/27152438/best-way-to-run-rails-background-jobs-with-openshift ht ...

  4. caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--01

    引用了下文的资料,在此感谢! http://www.cnblogs.com/alexcai/p/5468164.html http://blog.csdn.net/garfielder007/arti ...

  5. dsp-asic-fpga

    DSP是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器,它采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠,也就是说在执行上一条 ...

  6. JavaScript读书笔记(2)--数据类型

    1.  严格模式:在javascript中定义了一种不同的解析与执行模型.在严格模式下,一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误. 用法是在脚本中添加:”use strict”; 这 ...

  7. C++ 坑人系列(1): 让面试官晕倒的题目

     今天和几位同仁一起探讨了一下C++的一些基础知识,在座的同仁都是行家了,有的多次当过C++技术面试官.不过我出的题过于刁钻: 不是看起来太难,而是看起来极其容易,但是其实非常难! 结果一圈下来,3道 ...

  8. php 数组转xml 数组转json xml转数组 json转数组

    array->xml <?php function array2xml($array, $tag) { function ia2xml($array) { $xml="" ...

  9. MySQL字段名与保留字冲突的问题及解决方法

    问题:MySQL字段名与保留字冲突在实际操作是常常出现的.一把会出现下面错误. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException. 解 ...

  10. lateral inhibition

    http://www.indiana.edu/~p1013447/dictionary/lat_i.htm [This means that neighboring visual neurons re ...